我正在创建一个需要主动读取和写入文件的游戏(大概我认为它将是一个.plist
.
它将有大约 5 个值,带有一个数值。例如:
统计 1:3
统计 2:4
统计 3:1
统计 4:6
统计 5:9
我想我会为此使用.plist
存储在 Documents 中的文件,但我想知道该怎么做,是否有一个简单的代码片段可以在整个应用程序中轻松读取和写入它?
结帐NSKeyedArchiver。这是一个用于将对象写入/归档到 plist 的轻量级类。还有相应的NSKeyedUnarchiver类用于读取/取消归档。
您拥有的另一个轻量级选项是NSUserDefaults。
这里还有一个教程,对两者进行了一些讨论并展示了如何使用NSKeyedArchiver
.
更重的(但对于更大的项目或更复杂的模型对象来说更可扩展和更健壮)是Core Data。不幸的是,这也有更陡峭的学习曲线。
是的:
// read
NSMutableDictionary *data = [NSMutableDictionary dictionaryWithContentsOfFile:pathToPlist];
// get
NSLog(@"Value: %@", data[@"foo"]);
// modify
data[@"foo"] = @(1337);
// write back
[data writeToFile:pathToPlist atomically:YES];
plist 必须位于可写目录中(即无法将其添加到应用程序包中)。