我有一个字典“playerDict”,它从plist中读取数据,其中有名称(myKey),每个键有9个关联对象。
我正在尝试将特定键(myKeys)的所有对象读入NSMutableArray(theObjects)。我已经阅读了课程参考和搜索互联网,但无法想象我们这个,可能非常简单,问题。
在我完成的所有其他测试中,我尝试了以下操作,但是将键返回到对象而不是对象。
theObjects = [playerDict objectForKey:myKeys];
任何可以给出提示的人?
这是创建dict的代码,我剥离了它:
NSArray *objs = [NSArray arrayWithObjects:[NSNumber numberWithBool:playerObject.diffHard],[NSNumber numberWithBool:playerObject.diffMedium],
[NSNumber numberWithBool:playerObject.diffEasy],[NSNumber numberWithBool:playerObject.currentGame],
[NSNumber numberWithInt:playerObject.currentGameQuestion],[NSNumber numberWithInt:playerObject.currentGameRightAnswer],
[NSNumber numberWithInt:playerObject.currentGameType],[NSNumber numberWithInt:playerObject.nrOfType0Games],
[NSNumber numberWithInt:playerObject.type0Result], nil];
NSDictionary *newPlayerDict = [NSDictionary dictionaryWithObjectsAndKeys:objs, keyString, nil];
答案 0 :(得分:4)
尝试valueForKey:
答案 1 :(得分:0)
您只能在NSDictionary
中为每个键存储一个项目。如果您需要为同一个键创建多个项目的故事,则需要先将每个项目添加到NSArray
(或NSSet
),然后将其设置为字典中的对象。
如果您发布了创建字典的代码,那么可能会有用。
更新:看起来你已经在这样做了。所以:
NSArray *myObjs=[playerDict objectForKey:keyString];
会得到你的数组。这个:
BOOL diffHard=[[myObjs objectAtIndex:0] boolValue];
BOOL diffMedium=[[myObjs objectAtIndex:1] boolValue];
将获得您存储在数组的第一个和第二个对象中的值。其余的重复一遍。