从plist文件中读取数据

时间:2009-07-01 03:38:35

标签: iphone objective-c

我正在尝试为我的iPhone应用程序实现保存状态。

我有一个名为SaveData.plist的plist文件,我可以通过以下内容阅读

NSString *pListPath2 = [bundle pathForResource:@"SaveData" ofType:@"plist"];
NSDictionary *dictionary2 = [[NSDictionary alloc] initWithContentsOfFile:pListPath2];

self.SaveData = dictionary2;
[dictionary release];

Plist文件包含成员

SavedGame是一个布尔值,告诉应用程序这里是否确实存在有效数据(如果他们没有在游戏中退出应用程序,我不希望他们成为还原点。

得分是NSNumber。 时间是一个NSNumber

Playfield,它是NSNumbers的16元素数组

如何访问NSDictionary中的这些元素?

2 个答案:

答案 0 :(得分:26)

尝试[NSDictionary objectForKey:]

其中Key是plist中成员的名称。

例如:

BOOL save = [[dictionary2 objectForKey:@"SavedGame"] boolValue];

将存储在plist中的对象SavedGame存储到名为save的新BOOL中。

我想你的SavedGame布尔实际上存储在NSDictionary中作为NSNumber,因此使用boolValue来获取NSNumber的布尔值。

试试此文档:Apple NSDictionary Reference

答案 1 :(得分:2)

设置Bool值您可以使用:

[Dictionary setBool:TRUE forKey:@"preference"];

对于获取Bool值,您可以使用:

[Dictionary boolForKey:@"preference"];