

はじめての質問になります。

ある地域のお店紹介アプリを開発中です。 トップページにボタンが９つ、各カテゴリ毎に分けられ並んでいます。

![お店カテゴリ→カテゴリ別お店一覧](https://i.stack.imgur.com/angbg.png)

例えば 「Restaurant」 というカテゴリのボタンを押すと、 「Restaurant」
のカテゴリ（セクション）に括られたお店一覧がテーブルビューに表示される、といった仕様を考えています。

テーブルビューに表示させるデータはいまのところローカルに JSON
で用意してあり、単純にデータ一覧をテーブルビューに表示させるのはうまくいきました。できればこの JSON
ファイルをそのまま利用して上記機能を実装できないものかと考えていますが、できるものなのでしょうか。

また可能な場合、どういったコーディングが考えられるか、どなたかご教授いただけると幸いです。

  
  
※追記 JSONファイル例  
  

JSON、配列の仕組みがよくわかっておらず、説明がうまくできないのですが、例をあげると、以下のようになります。  
  
  
"aaa": [  

{"name": "飲食店a", "category":"restaurant", "url":"<http://----->",
"address":"東京都------", "lat":"34.000000", "lon":"135.000000",
"tel":"000-000-000", "img":"a.png"},

{"name": "飲食店b", "category":"restaurant",
"url":"<http://----->","address":"東京都------", "lat":"31.000000",
"lon":"131.000000", "tel":"000-000-000", "img":"a.png"},

{"name": "服屋a", "category":"fashion", "url":"<http://----->",
"address":"東京都------", "lat":"32.000000",
"lon":"133.000000","tel":"000-000-000", "img":"b.png"},

{"name": "服屋b", "category":"fashion",
"url":"<http://----->","address":"東京都------", "lat":"33.000000",
"lon":"134.000000", "tel":"000-000-000", "img":"b.png"}

]  
  
  
こういった感じで100件ほどのデータが並んでおり、機能としては「Restaurant」のボタンを押したらテーブルビューにカテゴリ"restraunt"の一覧（飲食店a,b......）が表示、「Fashion」のボタンを押したらカテゴリ"fashion"の一覧（服屋a,b......）が表示、というふうにできればと考えています。


CC BY-SA 3.0
2015-02-17T07:17:56.330
6630
2015-02-19T09:16:32.127
2015-02-19T09:16:32.127
5426
5426
question
ios objective-c xcode json
カテゴリ別に分けられたボタンを押す→カテゴリ毎の一覧をテーブルビューに表示 （押されたボタンに対応するカテゴリのセクションに遷移）


上記のコメントを考慮した上で、  
流れとしては以下のようになります。  
1. JSONデータをNSArrayにNSDictionary形式で入れる（以下例ではNSMutableArrayにNSDictionaryを入れています）
[code]

    NSMutableArray *allArr = [NSMutableArray array];
    
    arr = [@[@{@"name": @"飲食店a", @"category": @"restaurant"},
    @{@"name": @"飲食店b", @"category": @"restaurant"},
    @{@"name": @"飲食店c", @"category": @"restaurant"},
    @{@"name": @"スポーツセンターa", @"category": @"sports"},
    @{@"name": @"スポーツセンターb", @"category": @"sports"}] mutableCopy];
    
    
[/code]

  2. 高速列挙でrestaurantのみを取り出す

[code]

    NSMutableArray *restaurantArr = [NSMutableArray array];
    for (NSDictionary *dic in allArr) {
      if ([dic[@"category"] isEqualToString:@"restaurant"]) {
        [restaurantArr addObject:dic];
      }
    }
    
[/code]

これでrestaurantArr には、カテゴリー：レストランのDictionaryが入ることになります。


CC BY-SA 3.0
2015-02-17T08:45:56.153
6633
2015-02-17T09:16:10.043
2015-02-17T09:16:10.043
8339
8339
6630
answer