Core Data 基礎(chǔ)

一、iOS數(shù)據(jù)儲(chǔ)存方式


二、簡介CoreData數(shù)據(jù)存儲(chǔ)

Core Data 是 iOS SDK 里的一個(gè)很強(qiáng)大的框架,允許程序員以面向?qū)ο蟮姆绞絻?chǔ)存和管理數(shù)據(jù)

Core Data 不是一個(gè)數(shù)據(jù)庫,不要用數(shù)據(jù)庫的眼光去看待 Core Data

Core Data 不僅是一個(gè)加載、保存數(shù)據(jù)的框架,還可以:

實(shí)體與 SQLite 中的 Table 對應(yīng)

無需編寫任何 SQL 語句

通過謂詞指定查詢條件

Core Data 是一套非常成熟的框架,性能優(yōu)異

最早出現(xiàn)在 Mac OS X 10.4 Tiger 與 iOS 3.0 系統(tǒng)

經(jīng)過成千上萬的應(yīng)用程序以及數(shù)以百萬用戶的反復(fù)的驗(yàn)證

蘋果官方應(yīng)用的數(shù)據(jù)存儲(chǔ)幾乎都使用 Core Data

三、?CoreData 快速體驗(yàn)

課程目標(biāo)

? ? ? ? 學(xué)會(huì) Core Data 的簡單使用

? ? ? ?掌握數(shù)據(jù)操作的基本方法

? ? ? ?體會(huì) 對象圖 概念

演練目標(biāo)

? ? ?建立個(gè)人記錄

? ? ?實(shí)現(xiàn)增/刪/改/查

演練步驟

第 1 步:新建項(xiàng)目

新建項(xiàng)目,勾選Use Core Data

第 2 步: 界面準(zhǔn)備

搭建UI

(1) 修改viewcontroller的父類

(2)刪除storyboard里內(nèi)容,重新add;勾選Is initial View Controller

(3)拖控件1、2至導(dǎo)航欄

(4)將item的樣式修改為Add

(5)設(shè)置cell的重用ID

(6)將視圖控制器做關(guān)聯(lián)

(7)執(zhí)行&連線,生成方法:newPerson

使用代碼修飾界面

第 3 步:創(chuàng)建數(shù)據(jù)模型

實(shí)體 (entity)是數(shù)據(jù)模型的基石

一個(gè)實(shí)體表示應(yīng)用程序中有意義的一部分?jǐn)?shù)據(jù)

可以把實(shí)體看待成 SQLite 中的一個(gè)表,或者數(shù)據(jù)模型

創(chuàng)建實(shí)體對應(yīng)的代碼文件

選擇菜單 Editor / Create NSManagedObject SubClass

注意:將文件添加到DataModel文件夾中步驟

1、右擊文件列表—> ?show in Finder —>在test文件夾下新建一個(gè)DataModel文件夾 —>將文件夾拖入到項(xiàng)目的文件列表中

2、選擇xcddatamodeld->選擇菜單 Editor / Create NSManagedObject SubClass

3、選擇存儲(chǔ)位置時(shí),請注意細(xì)節(jié)

(1)

(2)

(3)

遇到坑?。。。?/p>

問題描述:

使用xcode8.3創(chuàng)建項(xiàng)目,使用CoreData 建立好coreData模型后,生成文件后。報(bào)如下錯(cuò)誤。提示沒有引入文件。

查閱資料&綜合調(diào)試,無法從正面解決問題。(局限于cc老師的Xcode。用同事的電腦操作沒有相關(guān)問題)

解決方案:

1.使用xcode7.1創(chuàng)建項(xiàng)目,生成CoreData模型以及文件后,再使用Xcode8.3打開項(xiàng)目,編譯通過。不再報(bào)錯(cuò)

坑1:解決方法

第 4 步:新增數(shù)據(jù)

(1)

(2)

(3)

第 5 步:查詢數(shù)據(jù)

要查詢數(shù)據(jù)需要使用查詢結(jié)果控制器-> NSFetchedResultsController

實(shí)例化查詢結(jié)果控制器

指定查詢請求,設(shè)置請求排序?qū)傩?/p>

執(zhí)行查詢 performFetch

查詢結(jié)果 fetchedObjects

設(shè)置代理,監(jiān)聽數(shù)據(jù)變化 controllerDidChangeContent:

(1)

(2)

(3)

第 6 步:修改

獲取要修改的 實(shí)體描述

設(shè)置對象屬性

保存數(shù)據(jù)

(1)在tableview代理方法內(nèi)實(shí)現(xiàn)修改數(shù)據(jù)

(2) 在viewDidLoad方法 中設(shè)置代理

第 7 步:刪除

獲取要?jiǎng)h除的 實(shí)體描述

讓管理上下文刪除對象 —— 從內(nèi)存刪除

保存對數(shù)據(jù)的操作 —— 從數(shù)據(jù)庫中刪除

二、簡介CoreData數(shù)據(jù)存儲(chǔ)

Core Data 是 iOS SDK 里的一個(gè)很強(qiáng)大的框架,允許程序員以面向?qū)ο蟮姆绞絻?chǔ)存和管理數(shù)據(jù)

Core Data 不是一個(gè)數(shù)據(jù)庫,不要用數(shù)據(jù)庫的眼光去看待 Core Data

Core Data 不僅是一個(gè)加載、保存數(shù)據(jù)的框架,還可以:

實(shí)體與 SQLite 中的 Table 對應(yīng)

無需編寫任何 SQL 語句

通過謂詞指定查詢條件

Core Data 是一套非常成熟的框架,性能優(yōu)異

最早出現(xiàn)在 Mac OS X 10.4 Tiger 與 iOS 3.0 系統(tǒng)

經(jīng)過成千上萬的應(yīng)用程序以及數(shù)以百萬用戶的反復(fù)的驗(yàn)證

蘋果官方應(yīng)用的數(shù)據(jù)存儲(chǔ)幾乎都使用 Core Data

三、?CoreData 快速體驗(yàn)

課程目標(biāo)

學(xué)會(huì) Core Data 的簡單使用

掌握數(shù)據(jù)操作的基本方法

體會(huì) 對象圖 概念

演練目標(biāo)

建立個(gè)人記錄

實(shí)現(xiàn)增/刪/改/查

演練步驟

第 1 步:新建項(xiàng)目

新建項(xiàng)目,勾選Use Core Data

第 2 步: 界面準(zhǔn)備

搭建UI

(1) 修改viewcontroller的父類

(2)刪除storyboard里內(nèi)容,重新add;勾選Is initial View Controller

(3)拖控件1、2至導(dǎo)航欄

(4)將item的樣式修改為Add

(5)設(shè)置cell的重用ID

(6)將視圖控制器做關(guān)聯(lián)

(7)執(zhí)行&連線,生成方法:newPerson

使用代碼修飾界面

第 3 步:創(chuàng)建數(shù)據(jù)模型

實(shí)體 (entity)是數(shù)據(jù)模型的基石

一個(gè)實(shí)體表示應(yīng)用程序中有意義的一部分?jǐn)?shù)據(jù)

可以把實(shí)體看待成 SQLite 中的一個(gè)表,或者數(shù)據(jù)模型

創(chuàng)建實(shí)體對應(yīng)的代碼文件

選擇菜單 Editor / Create NSManagedObject SubClass

注意:將文件添加到DataModel文件夾中步驟

1、右擊文件列表—> ?show in Finder —>在test文件夾下新建一個(gè)DataModel文件夾 —>將文件夾拖入到項(xiàng)目的文件列表中

2、選擇xcddatamodeld->選擇菜單 Editor / Create NSManagedObject SubClass

3、選擇存儲(chǔ)位置時(shí),請注意細(xì)節(jié)

(1)

(2)

(3)

遇到坑!?。?!

問題描述:

使用xcode8.3創(chuàng)建項(xiàng)目,使用CoreData 建立好coreData模型后,生成文件后。報(bào)如下錯(cuò)誤。提示沒有引入文件。

查閱資料&綜合調(diào)試,無法從正面解決問題。(局限于cc老師的Xcode。用同事的電腦操作沒有相關(guān)問題)

解決方案:

1.使用xcode7.1創(chuàng)建項(xiàng)目,生成CoreData模型以及文件后,再使用Xcode8.3打開項(xiàng)目,編譯通過。不再報(bào)錯(cuò)

坑1:解決方法

第 4 步:新增數(shù)據(jù)

(1)

(2)

(3)

第 5 步:查詢數(shù)據(jù)

要查詢數(shù)據(jù)需要使用查詢結(jié)果控制器-> NSFetchedResultsController

實(shí)例化查詢結(jié)果控制器

指定查詢請求,設(shè)置請求排序?qū)傩?/p>

執(zhí)行查詢 performFetch

查詢結(jié)果 fetchedObjects

設(shè)置代理,監(jiān)聽數(shù)據(jù)變化 controllerDidChangeContent:

(1)

(2)

(3)

第 6 步:修改

獲取要修改的 實(shí)體描述

設(shè)置對象屬性

保存數(shù)據(jù)

(1)在tableview代理方法內(nèi)實(shí)現(xiàn)修改數(shù)據(jù)

(2) 在viewDidLoad方法 中設(shè)置代理

第 7 步:刪除

獲取要?jiǎng)h除的 實(shí)體描述

讓管理上下文刪除對象 —— 從內(nèi)存刪除

保存對數(shù)據(jù)的操作 —— 從數(shù)據(jù)庫中刪除

小伙伴們閱讀后,請喜歡一下。文章更新可以提醒到你哦~~~~

我是CC ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??QQ號(hào):1776094879


喜歡手動(dòng)點(diǎn)個(gè)喜歡吧

可以持續(xù)關(guān)注CC老師哦!留言你想學(xué)習(xí)的課題,我就會(huì)給你寫一個(gè)專題哦!

當(dāng)然,你也可以給日以繼夜,明明可以靠臉卻非得靠實(shí)力的CC老師打賞一個(gè)?。。〗oCC老師打賞個(gè)面膜錢吧!

關(guān)注CC,特立獨(dú)行的女開發(fā)-> 講師。把自己的熱血、灑脫、文藝青年的心灑滿課堂;不甘心當(dāng)講師,致力成為網(wǎng)紅;寫的了代碼,耍的了“流氓”的 CC老師

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這幾天想仔細(xì)的學(xué)習(xí)一下CoreData的部分,網(wǎng)絡(luò)上有很多的資料。看完之后把第一部分基礎(chǔ)重點(diǎn)用幾張圖表示,希望幫助...
    李周閱讀 544評論 0 2
  • 最近做聊天記錄緩存的東西,用到了數(shù)據(jù)庫的.本想著用FMDB因?yàn)橹坝眠^,回來看了看Core Data也是不錯(cuò)的,今...
    我是C閱讀 380評論 0 3
  • 一.基礎(chǔ) Core Date 使用 NSManagedObjectModel 的實(shí)例對象為剛要。這個(gè) model ...
    飲長刀閱讀 593評論 0 0
  • 1 前言 CoreData不僅僅是數(shù)據(jù)庫,而是蘋果封裝的一個(gè)更高級的數(shù)據(jù)持久化框架,SQLite只是其提供的一種數(shù)...
    RichardJieChen閱讀 3,138評論 2 2
  • 適讀對象: 需要入門Core Data的朋友; 像我一樣,尚未學(xué)過數(shù)據(jù)庫相關(guān)課程,不太懂怎么寫SQLite語句的朋...
    AntonyWong閱讀 5,636評論 8 21

友情鏈接更多精彩內(nèi)容