如何在iPhone游戏中保存游戏状态?我在NSDictionary中拥有一切。有人说使用NSUserDefaults,但这似乎意味着像卷。我找不到任何使用游戏保存的官方示例代码。保存游戏状态的苹果方式是什么?
答案 0 :(得分:3)
如果您只想将dict保存为文件夹文件夹,那么这样就可以了:
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentDir = [documentPaths objectAtIndex:0];
NSString * savePath = [documentDir stringByAppendingPathComponent:@"save.plist"];
[dict writeToFile: savePath atomically: YES];
答案 1 :(得分:1)
这取决于。 NSUserDefaults
适用于少数或小事,但对于较大的事情,您可能需要查看CoreData。
答案 2 :(得分:1)
如果您使用Core Data管理所有州,那么您可以免费保存和加载。这就是大多数iPhone应用程序用作数据存储的原因,以及它存在的原因。
从NSDictionary到Core Data的转换非常简单,但您需要了解Core Data的工作原理并定义您的方案。
NSUserDefaults 不应该用于保存游戏状态之类的内容,它可用于保存设置等内容。
答案 3 :(得分:0)
存档用于在IOS中保存对象图。您可以通过归档来恢复完整保存的状态。
答案 4 :(得分:0)
还有NSKeyedArchiver
比NSUserDefaults
更灵活,但没有CoreData那么强大。