【发布时间】:2013-05-22 13:01:25
【问题描述】:
如何将多个对象添加到 NSMutableDictionary 中的同一个键?
我找不到正确的方法。 setObject 方法仅更新键数组中的单个对象。 NSMutableDictionary中的方法addObject: forkey:不可用,使用时会导致崩溃。
字典是从plist 文件中读取的。
字典:
temp = {
nickname : score
item 0 = level1;
item 1 = level2;
item 3 = level3;
score
item 0 = 400;
item 1 = 400;
item 3 = 400;
}
代码如下:
NSMutableDictionary *newDict = [[NSMutableDictionary alloc] init];
str_nickname = [temp objectForKey:@"nickname"];
for (NSString *key in str_nickname){
if ([key isEqualToString:@"level2"]) { //replace object with new name
[newDict setObject:@"new level" forKey:@"nickname"];
} else {
[newDict addObject:key forKey:@"nickname"]; //wont work!!!
}
}
我还想更新新字典中的新分数,并且必须在相应的级别对象上更新它,也许是通过索引?
【问题讨论】:
-
你定义好你的数据结构了吗?如果是这样,这个设计是什么样的?知道帮助您会容易得多。
-
想一想:当你为同一个key设置了两个不同的对象后,当你要求
objectForKey:时,你希望字典给你什么?
标签: objective-c nsmutabledictionary