2016-05-06 12 views
-1
NSDictionary *searchResponseJSON = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error]; 

arrayOfRestaurants = searchResponseJSON[@"businesses"]; 

NSDictionary *businesses = [arrayOfRestaurants firstObject]; 

NSString *businessesID = businesses[@"id"]; 

配列のすべてのデータを最初のオブジェクトではなくnsdictionaryに取得しようとしています。これを行うより良い方法はありますか?私はNSDictionaryのnsdictionaryに配列全体を追加する

サイドノートに配列からすべてのデータを得ることができるように見えるカント:私はちょうど、アレイ上のループ反復処理に使用

+1

を使用して、このクラスでは、この辞書を使用することができますが、キーと値は、配列内の各オブジェクトに対して同じであることに辞書を作成したいですか?また、arrayOfRestaurantsは何を保持していますか?オブジェクトの配列または辞書の配列? –

+0

@TejaNandamuri 2番目のQ「オブジェクトの配列または辞書の配列?」:JSONであるため、「オブジェクト」*は辞書です。 –

+0

しかし、私は同じ質問をしています:id-> dataの形式の辞書を持っていますか?説明のために –

答えて

0
  • NSDictionaryの* dictProducts = [応答valueForKey:kViewModel]を挿入します。

  • アレイ

  • にオブジェクトを追加[_yourArrayのaddObject:[dictProducts objectForKey:kProductID]。
  • NSMutableDictionary * dict = [[NSMutableDictionary alloc] init];
  • [辞書セットオブジェクト:_yourArray forKey:@ "Your_Key"];
  • あなたは同じキー
0

Objective Cのに非常に新しいです、あなたは、各オブジェクトを取得しますそこから、あなたstuff.iはあなたの後に必要なものすべてのオブジェクトは、ちょうど私に教えませんかと私は

NSDictionary *searchResponseJSON = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error]; 
    if [searchResponseJSON[@"businesses"] isKindofClass: [NSDictionary class]] { 
    arrayOfRestaurants = dictionary; 

    for NSDictionary * dictionary in arrayOfRestaurants { 
    print("dictionary") 
    } 

}

+0

arrayOfRestaurantsは辞書を含んでも含まなくてもよい。それが辞書を含んでいなければ、あなたのコードはクラッシュするでしょう! –

+0

編集された回答を確認する –

0

私の答えを編集します。この1つのそのはに役立つかもしれない試してみてくださいあなた

NSArray * myArray = [NSArray arrayWithObjects:@"hello", @"hi", @"hey"]; 

NSDictionary * dict = [NSDictionary dictionaryWithObject:myArray forKey:@"threeLetters"]; 

NSMutableDictionary * mutableDict = [NSMutableDictionary dictionaryWithCapacity:10]; 
[mutableDict setObject:myArray forKey:@"threeLetters"]; 
0

NSDictionaryunordered collection of objectsですが、値を含む値はそれぞれassociated with a key,で、値のラベルのように機能します。 NSArray arrayWithObjects:@ "One"、@ "Two" @ "Three"、@ "Four"、nil];

1)以下に示すように、直接配列要素を挿入:

[NSDictionary initWithObjectsAndKeys:[NSArray arrayWithObjects:@"One",@"Two"@"Three",@"Four",nil], @"FirstKey", nil]; 

2)NSDictionaryの

中にNSArray
NSDictionary * dict = [NSDictionary dictionaryWithObject:myArray forKey:@"FirstKey"]; 
関連する問題