存储 iPad/iPhone 应用程序数据的最佳方式
Posted
技术标签:
【中文标题】存储 iPad/iPhone 应用程序数据的最佳方式【英文标题】:Best Ways to Store iPad/iPhone Application Data 【发布时间】:2010-08-16 08:34:57 【问题描述】:我正在开发一个 iPad 应用程序,但我不确定存储应用程序数据的最佳方式是什么。到目前为止,我一直在使用 .plist 存储数百个用于益智游戏的字符串,效果很好,但如果我的应用程序要好用,它必须存储数万个字符串(代表预制谜题)。
我了解到将 .plist 用于大文件是个坏主意,那么为 iPhone/iPad 应用程序存储大量信息(只读)的最佳方式是什么? [你能否也给我指出一个关于如何存储它的可靠教程? ]
[我不需要在任何给定时间将所有字符串加载到我的应用程序中,每轮游戏只需大约 50 个]。
【问题讨论】:
【参考方案1】:您有几个选择:您可以使用数据库,也可以创建存档。就个人而言,我会使用存档方法,但 sqlite 或 CoreData 中的数据库也可以正常工作(甚至可能更快)。
要创建存档,您的类需要订阅 NSCoding 协议,实现 - (id) initWithCoder:(NSKeyedUnarchiver*)aDecoder
和 - (void) encodeWithCoder:(NSKeyedArchiver*)aCoder
两种方法。这些通过调用[aCoder encodeObject: myString forKey: @"theKeyIWantToUse"];
和[self setMyString: [aDecoder decodeObjectForKey: @"theKeyIWantToUse"]];
来使用
由于 Apple 对编码系统的改进,从档案中读取和写入数据非常容易且相对较快。
同样,您也可以构建一个 CoreData 后端来管理数据库中的对象存储和检索。这抽象了数据的存储位置和访问方式,这非常有用。希望对您有所帮助!
【讨论】:
以上是关于存储 iPad/iPhone 应用程序数据的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章
如何使用我的 iOS 应用程序在我的 iPad/iPhone 中打开 PDF 文件?