我从一个我似乎无法想象的plist中读到了一个问题。
我的plist列表看起来像这样(注意我为了示例而简化了它):
然后我正在阅读这样的代码:
NSString *path = [[NSBundle mainBundle] pathForResource:@"ContactDetails" ofType:@"plist"];
NSMutableDictionary *myDictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
NSArray* allmyKeys = [myDictionary allKeysForObject:@"Name1"];
任何想法 - 我一直面临的问题是allmyKeys显示为包含0个对象。在调试时,myDictionary被正确填充,所以不确定它为什么不起作用。
非常感谢
答案 0 :(得分:1)
问题在于这一行:
NSArray* allmyKeys = [myDictionary allKeysForObject:@"Name1"];
@"Name1"
是您词典中的键,而不是值。即使它是一个值,字符串@"Name1"
也是与myDictionary
中具有相同值的字符串不同的对象,因此此调用不会按预期执行。
您可能希望通过
访问字典NSDictionary *userDetails = myDictionary[@"Name1"];