2011-02-24 51 views
3

我正在從sqlite數據庫中加載數據,存儲我從那裏加載的自定義類的實例變量中的值,然後將此類添加到可變數組中,然後我分配給我的視圖控制器的實例變量,在tableview中使用。如何保存/重新加載自定義數組到plist

雖然我會將該數組保存到應用程序第一次運行的文檔目錄中的.plist文件中,以便我可以在裝入時從中檢索整個對象,而不是從數據庫。

這種方法是更好的選擇嗎?如果是這樣的話,有人可以幫助我提供一些代碼,使我可以將我的自定義類的數組保存爲.plist文件嗎?我在網上遇到了很多示例代碼,但沒有一個能正常工作。

我想:

  • 檢查的my_data.plist文件的存在。
  • 如果存在,請將其作爲數組讀取。
  • 如果沒有,請將數據從sqlite數據庫讀取到數組中。
  • 將此數據保存爲.plist,以便稍後以更快的速度讀取。

謝謝你們,感謝你們給我的任何幫助。

+0

您運行的示例代碼沒有正確工作的方式?代碼是什麼?當你運行它時發生了什麼? – occulus 2011-02-24 20:54:42

回答

3

它可能會更快剛從啓動數據庫獲取值。解析包含這些值的plist幾乎肯定會花費更多的成本,而不是從數據庫中全部獲取它們,除非您必須使用從數據庫中獲取它們的查詢非常慢。

請注意,一旦將這些對象保存到磁盤上的plist中,實際上會損害程序的性能,因爲您將對象寫入磁盤兩次並從磁盤讀取兩次。如果發生錯誤或崩潰,您還會引入plist和數據庫之間的差異。

也就是說,證明這一點的唯一方法就是實現並分析兩個選項,並比較實際數字。查看上面的@ occulus鏈接,瞭解如何閱讀和編寫plist的說明。要分析您的應用,請嘗試使用Instruments

+0

謝謝,我會看看鏈接並測試它。 – 2011-02-24 21:23:42