2012-03-13 179 views
0

我正在製作一個簡單的iPhone應用程序,它基本上就是一個編輯器。iPhone本地存儲 - 核心數據,NSFileManager,...?

因此,我需要一些方法來存儲用戶創建的文檔。

由於在iPhone上,文件系統的概念不存在爲用戶,我搜索周圍,看看我應該使用。

我發現this question &答案,基本上說,使用核心數據,但我最近發現了關於NSFileManager。

我的問題就是,對於用戶創建的文檔,什麼是最好的存儲系統?傳統的文件通過使用NSFileManager?核心數據?還有別的嗎?

回答

2

個人而言,我會使用CoreData,因爲它會爲您抽象掉所有的文件管理代碼。如果你正在製作簡單的文本文檔,那麼這不是什麼大不了的事情,但是如果你正在處理一個複雜的文檔體系結構(即一個集合有很多對象),那麼它可以爲你節省很多的工作。

如果用戶想要導出他們的文檔,用CoreData對象編寫函數是非常容易的。

CoreData唯一的缺點是,如果你使用的是非標準屬性,它可能會有點棘手,但在大多數情況下它肯定不是交易斷路器。

人們總是在沒有CoreData的情況下創建文檔格式,所以這裏有很多示例,它只是歸結爲個人偏好。真的沒有任何普遍正確的答案 - 它是一個設計決定,應該根據每個應用程序進行評估。

0

如果顯示文件的所有數據都包含在一個長字符串中(比如HTML),那麼我會建議您使用文件管理器,因爲它很容易獲取某個目錄中的文件列表以顯示給用戶打開。但是,如果它們不是自包含的(比如NSAttributedString,它具有許多存儲的格式化區域以及實際內容),那麼您應該使用CoreData,因爲將所有碎片保存在一起會更容易。