我想知道的優缺點,使用不同的數據集。plist,sqlite3,xml?
我有使用以下所有三個數據集的工作代碼。
- 一個拉一個
.xml
文件從我的服務器 - 一個從應用程序的包內訪問SQLite3的數據庫的副本(這是一個副本,以便我可以添加到它,從它刪除,並保存更改
- One從
.plist
訪問數據。
我的問題是,現在我有一些經驗創建這些數據集,並在應用中展示他們的數據,爲什麼/時,我會用一個比其他?
我想知道的優缺點,使用不同的數據集。plist,sqlite3,xml?
我有使用以下所有三個數據集的工作代碼。
.xml
文件從我的服務器.plist
訪問數據。我的問題是,現在我有一些經驗創建這些數據集,並在應用中展示他們的數據,爲什麼/時,我會用一個比其他?
XML文件,關閉服務器:
優點:您可以在任何時間提供新的數據給用戶更新XML文件,好發到其他平臺
缺點:需要一個網絡連接,必須將XML解析爲Obj-C對象,沒有辦法修改XML文件中的一個值而不重寫整個文件,XML文件需要額外的元數據來解析爲適當的Obj-C類型
sqlite文件包內:
優點:適用於大型數據集;您可以執行查詢,排序和讀取部分數據;您可以一次重寫或添加一行;好發到其他平臺
缺點:不得不sqlite的數據轉換成對象 - 對象(我喜歡這個FMDB),更新您需要將您的應用程序提交給蘋果公司的數據,並覈准
的plist:
優點:適合短小的數據集,易於閱讀的plist成一個OBJ-C容器
缺點:壞的大型數據集(超過1000個左右的項目),沒辦法只更新價值而不重寫整個文件,難以發送到其他平臺,必須提交您的應用程序蘋果和具有核準
注:
你也可以把一個文件(任何格式),您的包內,並檢查服務器是否有新的版本。
感謝您的見解。關於你的筆記,你知道有人寫過關於這種方法的任何地方嗎?它令我感興趣。 – 2012-02-19 04:45:07
我沒有具體瞭解任何有關這種方法的文章,但我相信這很常見。前一段時間,我們通過將版本號傳遞給Web服務器來在內部使用它,並且如果存在更新版本,服務器上的cgi會響應url,否則返回null。HTML5通過Web服務器上的清單文件做類似的事情。見http://www.w3.org/TR/html5/offline.html – EricS 2012-02-20 04:12:25
有幾個很好的答案在這裏找到: http://stackoverflow.com/questions/5785011/iphone-different-ways-to-store-data-advantages-and-disadvantages – 2012-01-31 18:13:26