Objective c 添加对象的可变字典

Objective c 添加对象的可变字典,objective-c,nsmutabledictionary,Objective C,Nsmutabledictionary,有没有比简单迭代更有效的方法将对象添加到NSMutable字典中 例如: // Create the dictionary NSMutableDictionary *myMutableDictionary = [NSMutableDictionary dictionary]; // Add the entries [myMutableDictionary setObject:@"Stack Overflow" forKey:@"http://stackoverflow.com"];

有没有比简单迭代更有效的方法将对象添加到NSMutable字典中

例如:

// 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"];

好奇的是,我确信这就是必须要做的事情。

如果您事先有了所有的对象和键,您可以使用NSDictionary的:

dictionaryWithObjects:forKeys:
当然,这会给你不可变的字典,而不是可变的。这取决于您需要的用途,您可以从NSDictionary获得可变副本,但在这种情况下,仅使用原始代码似乎更容易:

NSDictionary * dic = [NSDictionary dictionaryWith....];
NSMutableDictionary * md = [dic mutableCopy];
... use md ...
[md release];

请允许我向正在起步的人添加一些信息

可以使用以下更友好的语法创建
NSDictionary


物品放在钥匙前面。

谢谢你的第二个意见。我只是想确定我没有遗漏任何东西,看看是否有更高效/优雅的东西。我也在搜索一个选项,用对象和键初始化NSMutableDictionary,就像你对NSDictionary所做的那样,但我找不到任何东西……你应该以nil结束列表吗?@vvMINOvv无需:)。NSArrays文字也一样:)
NSDictionary *entry = [NSDictionary dictionaryWithObjectsAndKeys:
  [NSNumber numberWithDouble:acceleration.x], @"x",
  [NSNumber numberWithDouble:acceleration.y], @"y",
  [NSNumber numberWithDouble:acceleration.z], @"z",
  [NSDate date], @"date", 
  nil];
NSDictionary *dict = @{ 
    key1 : object1, 
    key2 : object2, 
    key3 : object3 };
NSMutableDictionary *example = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@5,@"burgers",@3, @"milkShakes",nil];