2010-08-10 113 views
1

我正在寫一個iPad應用程序,將通過應用程序內購買的新項目進行擴展。例如,我目前的計劃是使用一個jpg模式和一個匹配的plist文件,並使用我需要的參數將該模式擴展爲完整的圖片。plists vs核心數據保存參數

用戶將從小縮略圖列表中選擇一個jpg/png - 該列表保存在覈心數據中 - 並且應用程序將找到匹配的plist以正確顯示jpg/png。我一次只能打開其中的大約10個。但我最終可以存儲1000個jpgs和plists。

存儲大量小文件是否會導致應用程序問題?

我要去plist中的方式,而不是存儲在覈心數據的參數,所以,如果我以後需要添加參數,我沒有要遷移數據庫,只需更改代碼的訪問權限。 (當我創建模式時,更容易專注於plist文件而不是核心數據行。)

該應用程序似乎現在工作得很好,但我擔心的是期貨.. 。

我的應用程序也不會使用的核心數據進行其他的事情,所以我可以過,如果應用程序將獲得陷入了文件的數量變化。

謝謝。

回答

2

節約大量的小文件是沒有問題的,只要你有命名和跟蹤文件的一個深思熟慮的手段。

記住,用戶不具有文件管理的相同靈活性和易用性上的移動,因爲它們在非移動平臺上做。在一個用手指移動的設備上,在非移動設備上工作的設計不可行。

但是,當你說:

,當我創建模式, 它更容易集中在一個的plist 文件,而不是核心數據行。

...使用「行」表明您沒有完全掌握Core Data的實用程序。核心數據不使用行,列,表或連接。這是一個對象圖管理系統,有時在幕後使用SQL方式。

核心數據旨在處理數據的方式與用於UI和其他服務的面向對象的API的其餘部分無縫地齧合。當您使用plist等其他數據管理系統時,無論如何,您最有可能最終會手動複製大量的Core Data功能。

+0

感謝您的信息 - plist與jpg的名稱相匹配,因此用戶可以通過觸摸來選擇圖片 - 而不是文件名上的問題,因爲他沒有看到它。 「行」 - 是的,我明白,我沒有完全掌握關於核心數據的所有內容,只是它比我幾個月前認爲的簡潔易行得多。我最終會得到正確的術語並更好地理解概念:)。我主要擔心的是將參數添加到未來的更新並不得不遷移數據。 – Caroline 2010-08-11 04:59:14