1、通过对Core Data的了解,发现它与sqlite语句以及SQL语句也有一些相似之处,它是数据持久化存储的最佳方式,主要是以面向对象的方式储存和管理数据,它自身的优点有两点:1)、能够合理管理内存,避免使用SQL的麻烦 2)、利用Core Data框架,对象转记录,记录转对象不用SQL语句
2、今天主要用了Core Data中的这几个类对象:
NSManagedObjectContext 被管理的数据上下文,因此在操作前,需给定一个类对象,用于插入数据、查询数据,删除数据
NSFetchRequest 获取数据请求,其作用相当于查询语句
NSEntityDescription 实体结构,相当于表格
3、使用过程:首先是通过AppDelegate 获取上下文,此时实例化需要注意:
AppDelegate *delegate = [UIApplication sharedApplication].delegate; //单例与代理的结合
获取实体(实体即表格):
Person * per = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:_context];
设置实体属性值
保存插入数据 [_context save:nil]; //nil部分是指一些错误信息,因此为nil
设置查询条件
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like %@",@"*b*"];
// *指所查询的所有内容, *b*表示查询所有包含b的内容
执行查询请求 _context executeFetchRequest:request error:nil