保存和加载数据(iphone sdk)

Posted

技术标签:

【中文标题】保存和加载数据(iphone sdk)【英文标题】:save and load data (iphone sdk) 【发布时间】:2010-02-05 08:59:02 【问题描述】:

我想知道在 iphone 应用程序中保存和加载数据的最佳方法是什么。

我正在尝试将字符串保存到文本文件或类似文件中并将它们加载到表格视图中,以便文本文件中的第一个条目是表格视图中的第一行,依此类推...某人知道我是如何实现这一点的吗?

提前致谢。 肖恩

【问题讨论】:

好的,谢谢大家的快速回复。所以我现在来看看核心数据。 【参考方案1】:

保存数据的方法基本上有三种:

使用文件管理器将文件保存到文件系统。 (但在您的情况下,您不应该这样做)它仅对大图像文件有用。 使用 Sqlite 将数据保存到关系数据库中。 使用 Core Data Framework 保存所有数据。

在你的情况下,你绝对应该学习如何使用 Core Data,第一次很难,但以后真的很舒服。还有 NSFetchedResultsController 来处理加载到 TableView 中。

大多数实用程序应用程序使用 Core Data 来保存数据(待办事项列表等)。核心数据的链接已由 willcodejavaforfood 发布。

【讨论】:

【参考方案2】:

查看 iPhone SDK 的 Core Data 框架。

【讨论】:

【参考方案3】:

如果你的数据比较小,没有复杂的内部依赖,你也可以用plist格式存储(见Property list programming guide)

【讨论】:

【参考方案4】:

根据数据集的大小和复杂性,您可以使用 Core Data 或属性列表。 对于核心数据,请参阅文档中提到的示例(查找 NSManagedObjectContext 类)。

对于属性列表,使用[NSKeyedArchiver archiveRootObject:myArray toFile:path] 将数组保存到磁盘。

存储文件的文件夹可以通过以下方式确定:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

【讨论】:

以上是关于保存和加载数据(iphone sdk)的主要内容,如果未能解决你的问题,请参考以下文章

iPhone手动保存/加载数据,没有它自动加载

CFStringTokenizer iphone sdk的非单调移动

在 iphone sdk 上有效加载 uiviews

iPhone SDK - 如何在应用程序关闭和重新打开时保存和恢复计时器标签

iPhone使用唯一键加载和保存多个UIImages?

使用 iphone sdk 在钥匙串中保存时出错