iOS - 从plist读取的问题

时间:2014-01-15 00:06:55

标签: ios plist

我从一个我似乎无法想象的plist中读到了一个问题。

我的plist列表看起来像这样(注意我为了示例而简化了它):

enter image description here

然后我正在阅读这样的代码:

NSString *path = [[NSBundle mainBundle] pathForResource:@"ContactDetails" ofType:@"plist"];
NSMutableDictionary *myDictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
NSArray* allmyKeys = [myDictionary allKeysForObject:@"Name1"];

任何想法 - 我一直面临的问题是allmyKeys显示为包含0个对象。在调试时,myDictionary被正确填充,所以不确定它为什么不起作用。

非常感谢

1 个答案:

答案 0 :(得分:1)

问题在于这一行:

NSArray* allmyKeys = [myDictionary allKeysForObject:@"Name1"]; 

@"Name1"是您词典中的,而不是值。即使它是一个值,字符串@"Name1"也是与myDictionary中具有相同值的字符串不同的对象,因此此调用不会按预期执行。

您可能希望通过

访问字典
NSDictionary *userDetails = myDictionary[@"Name1"];