我正在开发一个iPad应用程序,我不确定存储应用程序数据的最佳方法是什么。到目前为止,我一直在使用.plist存储数百个字符串用于益智游戏,效果很好,但如果我的应用程序要好,那么它将需要存储数万个字符串(代表预制的拼图)。
我已经读过将.plist用于大文件是个坏主意,那么为iPhone / iPad应用程序存储大量信息(只读)的最佳方法是什么? [你能指点我一个关于如何存储的实用教程吗? ]
[我不需要在任何给定的时间将所有字符串加载到我的应用程序中,每轮游戏只有大约50个]。
答案 0 :(得分:2)
您有几个选项:您可以使用数据库,也可以创建存档。就个人而言,我会使用归档方法,但sqlite或CoreData中的数据库也可以正常工作(甚至可能更快)。
要创建存档,您的类需要订阅NSCoding协议,实现两种方法- (id) initWithCoder:(NSKeyedUnarchiver*)aDecoder
和- (void) encodeWithCoder:(NSKeyedArchiver*)aCoder
。通过调用[aCoder encodeObject: myString forKey: @"theKeyIWantToUse"];
和[self setMyString: [aDecoder decodeObjectForKey: @"theKeyIWantToUse"]];
由于Apple在编码系统上的优势,从存档中读取和写入数据非常容易且相对快速。
另外,您也可以构建一个CoreData后端来管理数据库中的对象存储和检索。这抽象了数据的存储位置和访问方式,这非常有用。希望有所帮助!
答案 1 :(得分:0)