2012-03-13 149 views
0

我正在制作一个简单的iPhone应用程序,它基本上就是一个编辑器。iPhone本地存储 - 核心数据,NSFileManager,...?

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

由于在iPhone上,文件系统的概念不存在为用户,我搜索周围,看看我应该使用。

我发现this question &答案,基本上说,使用核心数据,但我最近发现了关于NSFileManager。

我的问题就是,对于用户创建的文档,什么是最好的存储系统?传统的文件通过使用NSFileManager?核心数据?还有别的吗?

回答

2

个人而言,我会使用CoreData,因为它会为您抽象掉所有的文件管理代码。如果你正在制作简单的文本文档,那么这不是什么大不了的事情,但是如果你正在处理一个复杂的文档体系结构(即一个集合有很多对象),那么它可以为你节省很多的工作。

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

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

人们总是在没有CoreData的情况下创建文档格式,所以这里有很多示例,它只是归结为个人偏好。真的没有任何普遍正确的答案 - 它是一个设计决定,应该根据每个应用程序进行评估。

0

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