如何使用 Core Data 和 iOS 5 存储指南?

Posted

技术标签:

【中文标题】如何使用 Core Data 和 iOS 5 存储指南?【英文标题】:How to work with Core Data and iOS 5 storage guidelines? 【发布时间】:2012-01-25 11:06:03 【问题描述】:

我编写了一个应用程序,允许用户在 Core Data 中存储文本文章。我正在使用 sqlite 后备存储。

那么,如this technical note (login may be required) 中提到的,我的 .sqlite 数据应该属于什么“数据类别”?

我认为不应将“关键数据”标记为“不备份”。同意?但是,我还为用户提供了大约一千个条目。这些条目在技术上是“可再生的”,应标记为“不备份”。问题是有一个 SQLite 文件支持我的 Core Data 存储,其中有两种数据。

现在呢?我是否将数据库标记为“不备份”并有丢失用户数据的风险,或者我将其标记为“不备份”并冒着审查团队的愤怒,理由是我没有遵循ios数据存储指南?

【问题讨论】:

【参考方案1】:

我想考虑如果用户在没有网络连接的飞机上在存储空间不足的情况下清除数据后启动应用程序会发生什么?

如果答案是“该应用无法运行”,则不包括临时数据或缓存数据。那么您唯一的决定是您是否要备份到 iCloud。这更多是因为您的用户对占用他们宝贵的 5GB 存储空间感到愤怒。

【讨论】:

Apple 的审核团队似乎不同意,尽管我理解您的意思。【参考方案2】:

您的案例是否属于“CoreData 和 iCloud”类别,您的数据在您的应用修改它们时作为差异同步(但这也意味着我认为设备之间真正同步):

http://developer.apple.com/library/ios/#releasenotes/DataManagement/RN-iCloudCoreData/_index.html

【讨论】:

以上是关于如何使用 Core Data 和 iOS 5 存储指南?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Restkit 和 Core Data 存储对象和种子预加载数据

iPhone 4 iOS 5 如何使用 Core Data 保存 MPMediaItem?

Core Data:如何删除和重建数据存储?

如何防止 Core Data 在 iOS 5 中重复?

iOS:Swift:Core Data:值不使用 Private ManagedObjectContext 存储

解析本地数据存储以替代 Core Data (iOS) 和 SQLite (Android)