conanwin

导航

coredata (转)

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

posted on 2016-06-27 18:06  conanwin  阅读(133)  评论(0编辑  收藏  举报