2

我正在开发一个 iPad 应用程序,但我不确定存储应用程序数据的最佳方式是什么。到目前为止,我一直在使用 .plist 存储数百个用于益智游戏的字符串,效果很好,但如果我的应用程序要好用,它必须存储数万个字符串(代表预制谜题)。

我已经读到将 .plist 用于大文件是一个坏主意,那么为 iPhone/iPad 应用程序存储大量信息(只读)的最佳方式是什么?[你能不能给我一个关于如何存储它的可靠教程?]

[我不需要在任何给定时间将所有字符串加载到我的应用程序中,每轮游戏只需大约 50 个]。

4

1 回答 1

2

我想到了几个选项:您可以使用数据库,也可以创建存档。就个人而言,我会使用存档方法,但 sqlite 或 CoreData 中的数据库也可以正常工作(甚至可能更快)。

要创建存档,您的类需要订阅 NSCoding 协议,实现两个方法- (id) initWithCoder:(NSKeyedUnarchiver*)aDecoder- (void) encodeWithCoder:(NSKeyedArchiver*)aCoder. 这些通过调用[aCoder encodeObject: myString forKey: @"theKeyIWantToUse"];和使用[self setMyString: [aDecoder decodeObjectForKey: @"theKeyIWantToUse"]];

由于 Apple 对编码系统的改进,从档案中读取和写入数据非常容易且相对较快。

同样,或者,您可以构建一个 CoreData 后端来管理数据库中的对象存储和检索。这抽象了数据的存储位置以及访问方式,这非常有用。希望有帮助!

于 2010-08-16T20:57:48.593 回答