//Core Data 是 iOS SDK 裡的一個很強大的架構,允許程式員以面向對象的方式儲存和管理資料
//Core Data 不是一個資料庫,不要用資料庫的眼光去看待 Core Data
//Core Data 不僅是一個加載、儲存資料的架構,還可以:
//實體與 SQLite 中的 Table 對應
//無需編寫任何 SQL 語句
//通過謂詞指定查詢條件
//Core Data 是一套非常成熟的架構,性能優異
//最早出現在 Mac OS X 10.4 Tiger 與 iOS 3.0 系統
//建立項目
//
//建立項目,勾選Use Core Data
//實體 (entity)是資料模型的基石
//
//一個實體表示應用程式中有意義的一部分資料
//
//可以把實體看待成 SQLite 中的一個表,或者資料模型
//
//建立實體對應的代碼檔案
//
//選擇菜單 Editor / Create NSManagedObject SubClass
//
//注意:将檔案添加到DataModel檔案夾中步驟
//
//1、右擊檔案清單—> show in Finder —>在test檔案夾下建立一個DataModel檔案夾 —>将檔案夾拖入到項目的檔案清單中
//
//2、選擇xcddatamodeld->選擇菜單 Editor / Create NSManagedObject SubClass
//
//3、選擇存儲位置時,請注意細節
//遇到坑!!!!
//
//問題描述:
//
//使用xcode8.3建立項目,使用CoreData 建立好coreData模型後,生成檔案後。報如下錯誤。提示沒有引入檔案。
//
//查閱資料&綜合調試,無法從正面解決問題。
//
//解決方案:
//
//1.使用xcode7.1建立項目,生成CoreData模型以及檔案後,再使用Xcode8.3打開項目,編譯通過。不再報錯
新增資料
//查詢資料
//
//要查詢資料需要使用查詢結果控制器-> NSFetchedResultsController
//
//執行個體化查詢結果控制器
//
//指定查詢請求,設定請求排序屬性
//
//執行查詢 performFetch
//
//查詢結果 fetchedObjects
//
//設定代理,監聽資料變化 controllerDidChangeContent:
//修改
//
//擷取要修改的 實體描述
//
//設定對象屬性
//
//儲存資料
//删除
//擷取要删除的 實體描述
//
//讓管理上下文删除對象 —— 從記憶體删除
//
//儲存對資料的操作 —— 從資料庫中删除