08-CoreData学习总结
生活随笔
收集整理的這篇文章主要介紹了
08-CoreData学习总结
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
CoreData學(xué)習(xí)總結(jié)
1.1-一句話精簡表達(dá)什么是CoreData?
* CoreData是iOS5之后蘋果原生的用于對象化管理數(shù)據(jù)并且持久化的框架1.2-精簡的表達(dá)CoreData與數(shù)據(jù)庫的區(qū)別
* CoreData本質(zhì)上是將底層數(shù)據(jù)庫封裝成對象化管理 * 數(shù)據(jù)庫只是CoreData包含的功能,但不是CoreData的全部1.3-CoreData與數(shù)據(jù)庫對比有什么優(yōu)勢?
* CoreData操作數(shù)據(jù)庫不需要任何SQL語句,更方便的用面向?qū)ο蟮乃季S去存儲數(shù)據(jù) * CoreData是蘋果的親兒子,在內(nèi)存方面比數(shù)據(jù)庫有一定的優(yōu)勢1.4-簡單描述CoreData的性能
1.4.1-CoreData支持對象復(fù)用(性能開銷)
-
對象的復(fù)用大大提高了數(shù)據(jù)使用的性能 ,效率比直接用SQL 操作數(shù)據(jù)庫高得多. 當(dāng)你要訪問一個(gè)對象,可能這個(gè)對象的情況,存在下面三種可能
-
對象已經(jīng)在context 中,這種操作基本上是沒有任何代價(jià)
-
對象不在context 中,但是因?yàn)槟阕罱鼜膕tore 中取出過對象,所以持久化存儲協(xié)調(diào)器緩存了對 象的值,這個(gè)操作還算效率還可以
-
對象既不在context 中,持久化存儲協(xié)調(diào)器也沒有緩存,效率比較低,代價(jià)高
-
1.4.2-更顯著的提升性能
//直接獲取對應(yīng)objectID的數(shù)據(jù) [NSManagedObjectContext objectWithID:]-
我們要獲取某一個(gè)對象的ObjectID的時(shí)候,一定要在儲存數(shù)據(jù)庫之后調(diào)用,否則拿到的ID查詢不到數(shù)據(jù)
- [kManagedObjectContext save]; //一定要在數(shù)據(jù)庫儲存之后調(diào)用 self.objectID= [p objectID];
總結(jié)
以上是生活随笔為你收集整理的08-CoreData学习总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 07-CoreData清除所有数据
- 下一篇: Core Foundation框架