很久沒用CoreData了徊都,還是初學的時候接觸了CoreData莲蜘,那個時候嫌棄CoreData麻煩。之后一直在用FMDB(SQLite)宽档。順便用Swift構(gòu)建,我想是很愉快和享受的一件事情庵朝。
什么是CoreData
了解必用的類
? ? ? ? ? 1吗冤、NSManagedObject:托管對象模型,實體信息 ?
? ? ? ? ? 2九府、NSPersistentStoreCoordinator:數(shù)據(jù)庫存儲方式椎瘟,數(shù)據(jù)持久化、數(shù)據(jù)加載侄旬、數(shù)據(jù)緩存
? ? ? ? ? 3肺蔚、NSManagedObjectContext:管理對象的上下文,增勾怒、刪婆排、改、查進行對象管理
? ? ? ? ? 4笔链、NSFetchRequest:表查詢段只,在NSManagedObjectContext里面查詢相應的NSManagedObject
小結(jié):NSManagedObject創(chuàng)建model模型,NSPersistentStoreCoordinator從NSManagedObject獲取到數(shù)據(jù)模型,然后選擇NSPersistentStore(XML,SQLite,二進制)進行數(shù)據(jù)持久化鉴扫。NSManagedObjectContext是作為緩存區(qū)管理對象赞枕,我們用NSFetchRequest進行查詢,便于增坪创、刪炕婶、改、查操作莱预。
新建工程:PractiseCoreData
? ?1柠掂、修改RootController為NavigationController
2、添加TableView 依沮,添加右邊的Item-添加涯贞,添加Layout
3、添加TableView屬性危喉,添加Item事件
4宋渔、遵循UITableViewDataSource,UITableViewDelegate,建立model數(shù)組辜限,注冊cell皇拣,實現(xiàn)代理方法
5、在addNameAction添加點擊事件薄嫡,彈出UIAlertController(iOS8)氧急,以便于后面添加數(shù)據(jù)
6颗胡、創(chuàng)建一個Model
7、運行工程态蒂,可以添加數(shù)據(jù)杭措,但是沒有和CoreData聯(lián)系在一起费什,再次運行工程添加的都會被clear
7.1钾恢、頭文件導入CoreData
7.2、把modelsArr改成NSManagedObject類型
7.3鸳址、UIAlertController里面修改并添加保存方法,并且在cellForRowAtIndexPath修改賦值
8瘩蚪、在進入到Controller,加載關(guān)閉程序之前添加的Person
9稿黍、首先運行工程疹瘦,并且進行添加;然后再次運行工程巡球,會出現(xiàn)我們“首先”添加的數(shù)據(jù)
以前覺得好煩人言沐,現(xiàn)在一步一步來感覺還是蠻舒服的。其實現(xiàn)在有很多封裝的第三方的CoreData酣栈,可以去看看险胰,參考參考。對自己會有提升矿筝。
反思:不要去害怕這個東西難懂起便,越不想去用它,他就會對你產(chǎn)生神秘感窖维。你要揭開它榆综,你或許會產(chǎn)生繼續(xù)發(fā)掘它的興趣跟動力。