0

我正在尝试阅读,并且还需要写入 plist。

到目前为止,我正在尝试简单地阅读其中的内容。

这是我的 appSettings.plist:

在此处输入图像描述

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?

谢谢!

(我也很想知道一些关于写作的信息)

4

2 回答 2

2

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

另一种解决方案是遍历该字典中的键:

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

请注意,这不是按顺序排列的,您可能必须在对其进行迭代之前进行排序。

于 2012-07-11T12:48:04.067 回答
1

事实上,它不是一个数组,而是一个字典(看看你的图像)。

于 2012-07-11T12:47:23.183 回答