很久沒用CoreData了,還是初學的時候接觸了CoreData,那個時候嫌棄CoreData麻煩。之后一直在用FMDB(SQLite)。順便用Swift構建,我想是很愉快和享受的一件事情。
什么是CoreData
了解必用的類
? ? ? ? ? 1、NSManagedObject:托管對象模型,實體信息 ?
? ? ? ? ? 2、NSPersistentStoreCoordinator:數據庫存儲方式,數據持久化、數據加載、數據緩存
? ? ? ? ? 3、NSManagedObjectContext:管理對象的上下文,增、刪、改、查進行對象管理
? ? ? ? ? 4、NSFetchRequest:表查詢,在NSManagedObjectContext里面查詢相應的NSManagedObject
小結:NSManagedObject創建model模型,NSPersistentStoreCoordinator從NSManagedObject獲取到數據模型,然后選擇NSPersistentStore(XML,SQLite,二進制)進行數據持久化。NSManagedObjectContext是作為緩存區管理對象,我們用NSFetchRequest進行查詢,便于增、刪、改、查操作。
新建工程:PractiseCoreData
? ?1、修改RootController為NavigationController
2、添加TableView ,添加右邊的Item-添加,添加Layout
3、添加TableView屬性,添加Item事件
4、遵循UITableViewDataSource,UITableViewDelegate,建立model數組,注冊cell,實現代理方法
5、在addNameAction添加點擊事件,彈出UIAlertController(iOS8),以便于后面添加數據
6、創建一個Model
7、運行工程,可以添加數據,但是沒有和CoreData聯系在一起,再次運行工程添加的都會被clear
7.1、頭文件導入CoreData
7.2、把modelsArr改成NSManagedObject類型
7.3、UIAlertController里面修改并添加保存方法,并且在cellForRowAtIndexPath修改賦值
8、在進入到Controller,加載關閉程序之前添加的Person
9、首先運行工程,并且進行添加;然后再次運行工程,會出現我們“首先”添加的數據
以前覺得好煩人,現在一步一步來感覺還是蠻舒服的。其實現在有很多封裝的第三方的CoreData,可以去看看,參考參考。對自己會有提升。
反思:不要去害怕這個東西難懂,越不想去用它,他就會對你產生神秘感。你要揭開它,你或許會產生繼續發掘它的興趣跟動力。