存储 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 文件?

将 iPad/iPhone 应用程序与 Rails 应用程序集成

来自 IOS/iPad/iPhone 的最大速度

iPad\iPhone应用结构

显示 iPhone 屏幕尺寸的 iPad 应用程序

在 iPad/iPhone 上创建图表