28

オブジェクトを NSMutable Dictionary に追加する単純な反復よりも効率的な方法はありますか?

例:

// Create the dictionary

NSMutableDictionary *myMutableDictionary = [NSMutableDictionary dictionary];    

// Add the entries

[myMutableDictionary setObject:@"Stack Overflow" forKey:@"http://stackoverflow.com"];
[myMutableDictionary setObject:@"SlashDotOrg" forKey:@"http://www.slashdot.org"];
[myMutableDictionary setObject:@"Oracle" forKey:@"http://www.oracle.com"];

好奇心旺盛ですが、これがやらなければならない方法だと確信しています。

4

4 に答える 4

20
NSDictionary *entry = [NSDictionary dictionaryWithObjectsAndKeys:
  [NSNumber numberWithDouble:acceleration.x], @"x",
  [NSNumber numberWithDouble:acceleration.y], @"y",
  [NSNumber numberWithDouble:acceleration.z], @"z",
  [NSDate date], @"date", 
  nil];
于 2009-07-12T22:59:23.640 に答える
15

事前にすべてのオブジェクトとキーがある場合は、NSDictionary を使用して初期化できます。

dictionaryWithObjects:forKeys:

もちろん、これにより、可変ではない不変の辞書が得られます。NSDictionary から変更可能なコピーを取得できますが、その場合は元のコードを使用する方が簡単なようです。

NSDictionary * dic = [NSDictionary dictionaryWith....];
NSMutableDictionary * md = [dic mutableCopy];
... use md ...
[md release];
于 2009-07-12T22:57:27.887 に答える
8

これから始める人向けに情報を追加させてください。

object-c リテラルNSDictionaryを使用して、より使いやすい構文でを作成することができます。

NSDictionary *dict = @{ 
    key1 : object1, 
    key2 : object2, 
    key3 : object3 };
于 2013-07-08T13:12:10.427 に答える