Core Data涉及到的幾個主要的概念可以對應數據庫來理解:
NSManagedObjectContext(託管對象上下文):數據庫
NSEntityDescription(實體描述):表
NSFetchRequest(請求):命令集
NSPredicate(謂詞):查詢語句
在書中給出的例子中的一些語句可以用數據庫的常用操作來理解
NSManagedObjectContext *context = [appDelegate managedObjectContext]; //指定一個“數據庫”
NSEntityDescription *entityDescription = [[NSEntityDescription alloc] entityForName:@“Line” inManagedObjectContext:context]; //指定一個“表”,Line即是“表名”,context即這個“表”所在的“數據庫”
NSFetchRequest *request = [[NSFetchRequest alloc] init]; //創建一個空“命令”
[request setEntity:entityDescription]; //給這個“命令”指定一個目標“表”
NSPredicate *pred = [NSPredicate predicateWithFormat:@"(linenum = %d)",i]; //創建一個“查詢”,尋找linenum=i的行
[request setPredicate:pred]; //賦予“命令”具體的內容,即實現一個“查詢”
NSArray *objects = [context executeFetchRequest:request error:&error]; //執行“命令”,獲得“結果”objects