iPhone 3.0支持核心數據,它似乎是開發人員的一個很好的工具。但是SQL語句似乎更容易啓動,但核心數據更容易維護數據庫。但是我正在考慮SQL語句,因爲它似乎有更好的性能。我認爲哪一個更適合iPhone開發,有什麼建議?核心數據VS SQL語句,哪一個是用於iphone開發的gd?
回答
答案實際上比任何一篇博客文章都要簡單得多。規則是:
- 如果您正在開發任何OS X平臺;
- 如果您未訪問專有格式;和
- 如果你的持久性文件,並不需要在非OS-X平臺
閱讀那麼需要核心數據去。這很簡單。與直接SQL相比,核心數據爲您提供瞭如此多的功能和易用性,使選擇變得簡單。就表現而言,那是一條紅鯡魚。在哪裏,Core Data可以輕鬆地執行訪問SQLite數據庫的自定義代碼。不過,Cocoa Touch的表現其實是次要的擔憂。
主要關心的是記憶。你有一小部分內存可以在Cocoa Touch上使用,你的數據模型可以輕鬆地解決這個問題。核心數據解決了這個問題。它會監視它正在使用多少內存,並且會在收到內存警告時自動從內存中丟棄對象。如果您直接使用SQLite,那麼所有這些相當複雜的代碼都必須自己編寫。
更少的時間編碼您的數據模型意味着您有更多的時間使您的應用程序更好。
我的期望是,SQLite將*總是*使用比核心數據更少的內存,甚至核心數據的內存警告後。 SQLite的頁面緩衝區與任何一種技術都在內存中,但SQLite不會在RAM中存儲任何其他對象。這是不是真的? – 2010-02-18 17:00:29
您正在考慮SQLite庫。但是你有SQLite庫的數據結構,這些都是訣竅。使用SQLite,您必須自己管理這些內存,監視內存,處理緩存等等。所有這些都非常複雜,並且很容易出錯。即使你正確地做到了這一點,最終你最終會模仿Core Data。更輕鬆快捷地與原版一起使用,並獲得免費升級。 – 2010-02-18 17:14:17
這是違反直覺的,但像批量提取(使用核心數據中的一行代碼)可以導致巨大的內存和性能的勝利。這需要很多代碼才能用SQLite重現這一點。如果Apple已將他們的設備上應用程序切換到Core Data over SQLite,您就知道必須具備性能優勢。 – 2010-02-19 14:15:20
這提供了正反兩種方法的利弊合理名單:http://maniacdev.com/2009/09/iphone-sqlite-vs-core-data-,可呈現到選擇/
的建議是使用核心數據,因爲它使事情變得容易得多在長期。
還有就是這裏的2之間的差異進行了深入的解釋:http://cocoawithlove.com/2010/02/differences-between-core-data-and.html
這是一個偉大的閱讀。這兩種方法是不同的,都有其優點和缺點。
- 1. 核心數據SQL語句
- 2. 轉換用於核心數據的sql語句
- 3. 簡單的問題,核心數據手的哪部分來源於sql語句?
- 4. SQL語句和單一核心數據獲取請求
- 5. 核心數據iPhone
- 6. 核心數據vs LINQ to SQL?
- 7. 核心數據VS的NSFileManager
- 8. 核心數據。 NSDictionary VS NSFetchRequest?
- 9. 學習iOS開發的核心數據
- 10. 適用於Mac OS X開發的安全數據庫(尤其是核心數據)有哪些選擇?
- 11. 核心數據錯誤iPhone
- 12. iPhone核心數據關係
- 13. iPhone SDK:核心數據
- 14. iPhone核心數據入門?
- 15. iPhone核心數據預設
- 16. iPhone - 核心數據崩潰
- 17. iphone核心數據質疑
- 18. iPhone核心數據問題
- 19. iPhone核心數據查詢
- 20. iPhone - 核心數據問題?
- 21. iPhone - 核心數據問題?
- 22. iPhone和核心數據
- 23. iPhone - 核心數據遷移
- 24. iPhone核心數據錯誤?
- 25. 核心數據VS Sqlite或FMDB ....?
- 26. plists vs核心數據保存參數
- 27. iPhone核心數據內部不一致
- 28. iphone核心數據 - 爲什麼核心數據如此之慢?
- 29. 基於同一個核心引擎的Web開發Git
- 30. 使用核心數據存儲用於現有的Iphone項目?
這是http://stackoverflow.com/questions/523482/core-data-vs-sqlite3的重複,並可能http://stackoverflow.com/questions/840634/core-data-vs-sqlite- for-sql-experienced-developers和http://stackoverflow.com/questions/1045238/core-data-vs-sqlite-and-performance – 2010-02-18 20:12:29