2012-07-11 89 views
0

我想读,我也需要写一个plist。 。从plist读到NSArray

到目前为止,我想简单地读取其内容

这里是我的appSettings.plist:

enter image description here

NSBundle* bundle = [NSBundle mainBundle]; 
NSString* plistPath = [bundle pathForResource:@"appSettings" ofType:@"plist"]; 
NSDictionary *tmp = [[NSDictionary alloc] initWithContentsOfFile:plistPath]; 

我试着这样做:

NSArray *mruItems = [[NSArray alloc] initWithArray:[tmp objectForKey:@"lastSearches"]]; 

但它会引发错误。我对[tmp objectForKey:@“lastSearches”]类型进行的检查显示这不是NSArray ...

如何将内容读入我的NSArray?

谢谢!

(我很想有编写过一些信息)

+0

我可能已经做了lastSearches一个字典,而不是一个数组... – Ted 2012-07-11 12:45:22

回答

2

如果你看上面的截图,你会发现很明显“lastSearches”是一个字典,而不是一个列表。您可以尝试将其中的类型切换为数组类型,它应该适合您。

另一种解决方案是键遍历该词典:

NSDictionary *lastSearches = [tmp objectForKey:@"lastSearches"]; 
for (NSString *key in lastSearches.allKeys) 
{ 
    NSString *value = [lastSearches objectForKey:key]; 
} 

请注意,这不会是为了,你可能会有迭代之前进行排序。

1

事实上它不是一个数组,但一本字典(看你的形象)。