【问题标题】:Reading from plist to NSArray从 plist 读取到 NSArray
【发布时间】:2012-07-11 12:42:45
【问题描述】:

我正在尝试阅读,并且还需要写入 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?

谢谢!

(我也想知道一些写作方面的信息)

【问题讨论】:

  • 我可能将 lastSearches 设为字典而不是数组...

标签: objective-c ios nsarray


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    确实它不是一个数组,而是一个字典(看看你的图片)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      • 2012-10-23
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多