2011-06-19 10 views
1

NSDictionaryからキーと値の両方のペアを取得する便利な方法はありますか? NSDictionaryからキーと値のペアを抽出する

は、私はNSDictionaryの、partyGuestを持っていると言う
NSDictionary *guestFoodChoice = [partyGuest itemForKey:@"favouriteMeal"]; 

{ 
    name = "jim"; 
    age = 28; 
    occupation = "astronaut"; 
    favouriteMeal = 
     { 
     starter = "fish head soup"; 
     mainCourse = "roast armadillo"; 
     dessert = "sugar plum fairy cakes"; 
     } 
} 
私はそうのように、その内のキー/値のペアを取得取得したいのですが

...とすることを持っています

guestFoodChoice = 
{ 
    favouriteMeal = 
     { 
     starter = "fish head soup"; 
     mainCourse = "roast armadillo"; 
     dessert = "sugar plum fairy cakes"; 
     } 
} 

あるべきようだが、私は明白な方法を見ることができないとして、多分私が欠けている、キーと値の両方を取得 何か?

答えて

5

あなたは基本的に別の辞書内のキーと値のペアのサブセット(多分ちょうど1)で辞書を取得したいように聞こえます。そうだとすれば、Key-Valueコーディング方法dictionaryWithValuesForKeys:があなたの望むものです。

NSDictionary *guestFoodChoice = [partyGuest dictionaryWithValuesForKeys:[NSArray arrayWithObject:@"favouriteMeal"]]; 
+0

チャックさん、ありがとうございました。 – Snips

1
NSDictionary *guestFoodChoice = [NSDictionary dictionaryWithObjectsAndKeys:[partyGuest itemForKey:@"favouriteMeal"],@"favouriteMeal",nil]; 
+1

おかげで、はい、(valueForKeyを使用して)それは私の現在の回避策ですが、私はよりエレガントなショートカットがあるはずです考えていました。 – Snips

+0

回避策のコードを追加するNSDictionaryにカテゴリを作成し、少なくともあなたのメインプロジェクトのコードをクリーンアップ(読みやすくする)することができます。私は '-keyedDictionaryWithObjectForKey:'のようなメソッドを呼び出したいと思います。 –

関連する問題