- NSManagedObject:名稱:托管對(duì)象類結(jié)構(gòu):和Entity相同功能:內(nèi)存中的虛擬數(shù)據(jù)容器對(duì)象實(shí)例化常用方式:NSEntityDescription類的方法:
insertNewObjectForEntityForName:inManagedObjectContext:
第一個(gè)參數(shù)用來指定數(shù)據(jù)結(jié)構(gòu)(Entity)移迫;第二個(gè)參數(shù)用來指定托管對(duì)象上下文
- xcdatamodeld數(shù)據(jù)模型功能:包含當(dāng)前項(xiàng)目中所需的數(shù)據(jù)模型結(jié)構(gòu):內(nèi)涵多個(gè)Entity
- 數(shù)據(jù)模型中的Entity功能:內(nèi)存中肠阱,用來指定托管對(duì)象的數(shù)據(jù)架構(gòu);在數(shù)據(jù)庫(數(shù)據(jù)文件中),用來指定數(shù)據(jù)表的結(jié)構(gòu)
NSManagedObjectContext:
名稱:托管對(duì)象上下文功能:執(zhí)行對(duì)下的數(shù)據(jù)操作果复,如:save(存儲(chǔ))热芹、delete(刪除)褂萧、update(更新)等注意:實(shí)際上命辖,托管對(duì)象上下文仍屬于業(yè)務(wù)邏輯層,而非數(shù)據(jù)操作層恤批,它通過系統(tǒng)內(nèi)置邏輯异吻,自動(dòng)調(diào)用持久化數(shù)據(jù)操作類(PersistentData
操作類)來執(zhí)行數(shù)據(jù)更改NSFetchRequest
:名稱:“取”請(qǐng)求功能:數(shù)據(jù)讀取,可以將數(shù)據(jù)讀入到指定的容器中用法:
- 設(shè)定要讀取的數(shù)據(jù):該對(duì)象的
setEntity
方法設(shè)置要操作的數(shù)據(jù); - 調(diào)用
NSManagedObjectContext的excuteFetchRequest
方法來執(zhí)行數(shù)據(jù)查詢(對(duì)應(yīng)Sql語句selete)
- NSSortDescription名稱:排序器功能:指定排序的方式(索引)用法:通過該對(duì)象的初始化方法參數(shù)
initWithKey:
來指定排序所依據(jù)的字段名诀浪,參數(shù)ascending:
指定排序方式(正序或者倒敘)- 使用托管對(duì)象上下文進(jìn)行刪除操作
- 指定要?jiǎng)h除的托管對(duì)象棋返;先把要?jiǎng)h除的值找到(一般是通過
FetchRequest
),傳值到托管對(duì)象中雷猪。 - 調(diào)用托管對(duì)象上下文的
deleteObject
方法刪除內(nèi)存中的托管對(duì)象睛竣。 注意:和save方法不同,deleteObject方法并不直接將改動(dòng)執(zhí)行到數(shù)據(jù)庫求摇,而是先從內(nèi)存中刪去指定的托管對(duì)象 - 通過上下文對(duì)象的save方法將內(nèi)存中數(shù)據(jù)的改動(dòng)寫入數(shù)據(jù)庫射沟,實(shí)現(xiàn)真正的數(shù)據(jù)刪除。