Core Data 基礎(chǔ)(圖解一)

這幾天想仔細的學習一下CoreData的部分,網(wǎng)絡(luò)上有很多的資料浪藻”芬辏看完之后把第一部分基礎(chǔ)重點用幾張圖表示,希望幫助別人能更快的理解卢厂。

第二篇 CoreData的多線程


1.什么是CoreData

Core Data本身既不是數(shù)據(jù)庫也不是數(shù)據(jù)庫訪問框架乾蓬,而是一個完整的數(shù)據(jù)模型解決方案∩骱悖可以理解為對持久層的封裝任内,使得我們可以通過可視化建立數(shù)據(jù)模型,不僅支持SQLite數(shù)據(jù)庫融柬,還能對XML文件死嗦、二進制文件、用戶自定義文件進行操作粒氧。

2.幾大重點屬性

屬性關(guān)系

其實之前說了CoreData是對持久層的一個封裝越走,以sqlite數(shù)據(jù)庫理解:

NSManagedObjectContext 是對數(shù)據(jù)庫數(shù)據(jù)操作的手柄,封裝了我們理解的增刪改查靠欢。需要注意的一點就是:在我們做任何操作的時候廊敌,其實都是把操作緩存在內(nèi)存中,直到我們調(diào)用save方法的時候门怪,才會映射到持久層骡澈。

NSManagedObjectModel類似于數(shù)據(jù)庫的輪廓,包括了數(shù)據(jù)庫內(nèi)部各個實體的定義信息掷空。

NSPresistentStoreCoordinator類似于數(shù)據(jù)庫的外部處理器肋殴,包括設(shè)置數(shù)據(jù)存儲的名字和位置囤锉,數(shù)據(jù)存儲的時機。

理解了三者都是做什么的护锤,都很好理解三者的創(chuàng)建順序:

創(chuàng)建順序

3 可視化界面

創(chuàng)建一個實體

創(chuàng)建實體的界面

其中屬性里面type類型官地,從網(wǎng)上找到相關(guān)的資料:

Undefined: 默認值,參與編譯會報錯

Integer 16: 整數(shù)烙懦,表示范圍 -32768 ~ 32767

Integer 32: 整數(shù)驱入,表示范圍 -2147483648 ~ 2147483647

Integer 64: 整數(shù),表示范圍 –9223372036854775808 ~ 9223372036854775807

Float: 小數(shù)氯析,通過MAXFLOAT宏定義來看亏较,最大值用科學計數(shù)法表示是 0x1.fffffep+127f

Double: 小數(shù),小數(shù)位比Float更精確掩缓,表示范圍更大

String: 字符串雪情,用NSString表示

Boolean: 布爾值,用NSNumber表示

Date: 時間你辣,用NSDate表示

Binary Data: 二進制巡通,用NSData表示

Transformable: OC對象,用id表示舍哄”獯铮可以在創(chuàng)建托管對象類文件后,手動改為對應(yīng)的OC類名蠢熄。使用的前提是跪解,這個OC對象必須遵守并實現(xiàn)NSCoding協(xié)議

一個屬性的創(chuàng)建

屬性的設(shè)置

4 注意點

1)對于一個創(chuàng)建的CoreData工程,里面有一個.xcdatamodeled模板文件签孔,在編譯之后會產(chǎn)生兩個文件:

一個放在document文件夾下的sqlite文件:

一個放在mainBundle路徑下的:

2)增刪改查

增:創(chuàng)建一個實體叉讥,然后交給context上下文處理:

增加一個實體的操作

刪改查:先找到你想要刪或改的實體,然后進行操作饥追,最后交給context上下文處理:

刪除一個實體的操作

一定要在操作之后進行save操作图仓,不然所有的操作結(jié)果都只是在緩存中,沒有進入持久層:

我想這也是為什么我們在保存一個oc對象的時候但绕,需要該對象遵循NSCoding協(xié)議救崔。

3) 實體間的關(guān)系

兩個實體:Employee和Department

在創(chuàng)建的時候,有一個問題:

需要雙向設(shè)置嗎捏顺?

不需要六孵,當我設(shè)置了[department addEmployeeObject:employee];的時候,coredata會自動的實現(xiàn)下面的語句幅骄,最后employee.department的打印結(jié)果如下:


第一篇簡單的解釋了一下我理解的CoreData的基礎(chǔ)信息劫窒,想要了解更多的話可以參考:

認識CoreData

初始CoreData

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市拆座,隨后出現(xiàn)的幾起案子主巍,更是在濱河造成了極大的恐慌冠息,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孕索,死亡現(xiàn)場離奇詭異逛艰,居然都是意外死亡,警方通過查閱死者的電腦和手機搞旭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門散怖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人选脊,你說我怎么就攤上這事×掣剩” “怎么了恳啥?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長丹诀。 經(jīng)常有香客問我钝的,道長,這世上最難降的妖魔是什么铆遭? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任硝桩,我火速辦了婚禮,結(jié)果婚禮上枚荣,老公的妹妹穿的比我還像新娘碗脊。我一直安慰自己,他們只是感情好橄妆,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布衙伶。 她就那樣靜靜地躺著,像睡著了一般害碾。 火紅的嫁衣襯著肌膚如雪矢劲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天慌随,我揣著相機與錄音芬沉,去河邊找鬼。 笑死阁猜,一個胖子當著我的面吹牛丸逸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播剃袍,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼椭员,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了笛园?” 一聲冷哼從身側(cè)響起隘击,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤侍芝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后埋同,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體州叠,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年凶赁,在試婚紗的時候發(fā)現(xiàn)自己被綠了咧栗。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡虱肄,死狀恐怖致板,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情咏窿,我是刑警寧澤斟或,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站集嵌,受9級特大地震影響萝挤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜根欧,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一怜珍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧凤粗,春花似錦酥泛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至亭罪,卻和暖如春瘦馍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背应役。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工情组, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人箩祥。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓院崇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親袍祖。 傳聞我的和親對象是個殘疾皇子底瓣,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容