【问题标题】:iPhone local storage -- Core Data, NSFileManager, ...?iPhone 本地存储——Core Data、NSFileManager、...?
【发布时间】:2012-03-29 10:28:29
【问题描述】:

我正在制作一个简单的 iPhone 应用程序,它基本上是一个编辑器。

因此,我需要一些方法来存储用户创建的文档。

由于在 iPhone 上,用户没有文件系统的概念,所以我四处寻找应该使用什么。

我发现this question 和答案基本上说要使用 Core Data,但我最近发现了 NSFileManager。

我的问题很简单,对于用户创建的文档,最好使用什么存储系统?使用 NSFileManager 的传统文件?核心数据?还有什么?

【问题讨论】:

    标签: ios core-data nsfilemanager


    【解决方案1】:

    如果您用于显示文件的所有数据都包含在一个长字符串中(如 HTML),那么我建议您使用文件管理器,因为它很容易获得某个目录中的文件列表以显示给用户打开。但是,如果它们不是自包含的(例如 NSAttributedString,它具有许多存储的格式化区域以及实际内容),那么您应该使用 CoreData,因为将所有部分放在一起会更容易。

    【讨论】:

      【解决方案2】:

      就个人而言,我会使用 CoreData,因为它会为您抽象出所有文件管理代码。如果您正在制作简单的文本文档,那么这没什么大不了的,但是如果您正在使用复杂的文档架构(即,一个包含大量对象的集合),那么它可以为您节省很多精力。

      如果用户想要导出他们的文档,使用您的 CoreData 对象编写一个函数非常容易。

      CoreData 的唯一缺点是,如果您使用非标准属性,它可能会有点棘手,但在大多数情况下它肯定不会破坏交易。

      人们总是在没有 CoreData 的情况下创建文档格式,所以有很多例子,这取决于个人喜好。对此确实没有任何普遍的正确答案 - 这是一个应该基于每个应用程序进行评估的设计决策。

      【讨论】:

        猜你喜欢
        • 2011-04-17
        • 2011-09-28
        • 1970-01-01
        • 1970-01-01
        • 2010-12-27
        • 2010-11-16
        • 1970-01-01
        • 1970-01-01
        • 2011-12-23
        相关资源
        最近更新 更多