我有一个NSDictionary包含我保存到plist的其他NSDictionaries。 它的索引是NSNumbers,由(相当大的)整数组成。
当我从plist重新加载字典并尝试迭代它时
for(NSDictionary *dict in loadedDict){
nslog(@"dict %@", dict);
}
这导致输出只包含字典的键,但不是 - 如预期的那样 - 是字典本身的转储。
我必须执行以下操作才能获取包含字典:
NSArray *allKeys = [loadedDict allKeys];
for(NSString *key in allKeys){
nslog(@"dict %@", [loadedDict objectForKey:key]);
}
而且,是的,键实际上是整数转换为NSNumbers ...
有什么问题?
提前感谢您的帮助......
答案 0 :(得分:2)
字典的快速枚举返回键:
您所看到的是预期的行为。
考虑使用块来获得对键和值的显式访问:
[loadedDict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
// use key and obj...
}];