2012-03-02 101 views
1

我對iOS開發很感興趣。我已經閱讀了一些初學者書籍,目前正在通過iTunes提供的斯坦福大學課程。存儲數據列表/數組的最佳做法

我只是一個初學者,但我真的很關心從一開始就正確地學習東西。我通過書籍或在線學到的很多東西似乎並不符合「最佳實踐」 - 據我所知,最佳實踐可能超出了目前正在教授的水平,但我仍然討厭學習那些以後只能重新學習它們是錯誤的。

我希望有人能夠提供一些關於如何在應用程序中正確存儲數據的建議。也就是說,如果我從數組或字典中動態生成表格單元格,那麼存儲數組或字典從哪裏來的數據的最佳方式是什麼?

如果我是,比如說,通過表格顯示文章列表,我希望能夠輕鬆更新該列表,並在某個時候更新應用程序,我假設我不想努力 - 將該列表直接編入模型中,但從其他位置獲取該數據。

我從所有人那裏學到的例子都顯示了plists的用法,但後來說你實際上不會在實際應用中用plist來做這件事。我不是在尋找如何去做我在問什麼,只是希望有人能指引我朝着正確的方向......就像,你會使用SQLite嗎?如果你的內容是最好解析一個web源代碼來自網絡?

我只是想找出最好的方法來做到這一點。我意識到沒有真正的「最好」的方法來做到這一點,但我注意到我從網上的一些教程看到的示例代碼和來自Apple的示例代碼之間存在巨大差異 - 也許我錯了,但我假設蘋果的代碼示例是寫得很好的代碼。

+0

對於大量的用例來說,定位器非常適用。你能給我們一個鏈接嗎?它說「你真的不會在一個真正的應用程序中用plist來做這件事」?在我看來,一個好的經驗法則是:如果你有足夠小的靜態數據(不是用戶可編輯的),完全適合內存,而且你不需要搜索那些數據,那麼plists就是要走的路。如果數據量很大,並且/或者您需要搜索和/或您希望某些用戶可編輯的內容,那麼使用SQLite或Core Data可以更有意義。 – 2012-03-02 19:10:30

+0

這是一個非常普遍的問題,您可以在Apple的文檔中找到很好的答案,例如[*檔案和序列化編程指南*](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Archiving/Archiving.html)和[* Property List Programming Guide *](https:// developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/PropertyLists/Introduction/Introduction.html)等等。如果您有任何具體問題,請編輯上述問題以說明問題。 – Caleb 2012-03-02 19:14:25

+0

@Ole Begemann - 我記得特意閱讀了Apress的「開始iOS 5開發 - 探索iOS SDK」中有關plists的評論,並且在教程中在線顯示瞭如何動態填充表格,我不記得鏈接,但我記得這個例子顯示了一些錯誤,並且說了一些關於「可怕的錯誤」的內容。無論如何,爲了保護這些作者,也許我誤解了他們的陳述,並且這意味着你不會使用plists來獲取大量數據?如果plists是有效的,那麼他們正是我所需要的。謝謝(你的)信息! – canoebrain 2012-03-02 19:29:16

回答

3

一些常見的方法是:

  • 的Plist - 是的,他們是如果你的要求不高
  • JSON一個完全合法的數據存儲 - 如果這是如何您的數據在來自哪裏網絡
  • SQLite - 嵌入式關係數據庫系統。 FMDB是一個流行的Objective-C接口。
  • 核心數據 - 蘋果的解決方案(可以使用各種格式,包括SQLite作爲後端)
  • [一些自定義的文件格式] - 你選擇要拿出任何數據格式

實際上,你需要閱讀各種解決方案 - 他們都有優點和缺點,這些優點和缺點將根據你的需要權衡不同。

+0

謝謝pmjordan!這正是我所期待的。 – canoebrain 2012-03-02 19:37:01

相關問題