一、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老師