Core Data的使用

 Core Data不是应用程序的数据库,也不是将数据持久化保存到数据库的API。Core Data是一个用于管理对象图的框架。Core Data可以把对象图写入磁盘从而持久化保存。

1.Core Data stack

 Core Data stack是Core Data的核心,由一组Core Data核心对象组成.
 ➢  NSManagedObjectContext  对象管理上下文:    负责管理模型的对象的集合 
 ➢  NSManagedObjectModel    被管理的对象模型:   负责管理对象模型
 ➢  NSPersistentStoreCoordinator    存储调度器:  负责将数据保存到磁盘的

2.多表关联

Type:
toOne:只指向一个对象
toMany:可以包含多个对象(一般是集合类型)


DeleteRule:

ClassRoom.students --> Student  Nullify(作废):
Student.classRoom --> ClassRoom Nullify:

3.NSManagedObjectContext使用上下文查询

1)  实例化查询请求
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];

2)  实例化实体描述(指定要去哪个实体里查&使用哪个上下文)
NSEntityDescription *entity = [NSEntityDescription entityForName:[Contact entityName] inManagedObjectContext:[CoreDataTool shareInstance].managedObjectContext];

3)  将查询请求设置实体名
[fetchRequest setEntity:entity];

4)  实例化 查询条件(谓词)
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self.name contains 'a'"];

5)  设置查询请求的 查询条件
[fetchRequest setPredicate:predicate];

6)  实例化一个排序器(指定某个属性的升降顺序)
NSSortDescriptor*sortDescriptor=[[NSSortDescriptor alloc] initWithKey:@"namePinYin" ascending:YES];

7)  设置查询请求的排序器(可以多个)
[fetchRequest setSortDescriptors:[NSArray arrayWithObjects:sortDescriptor, nil]];

8)  使用管理上下文执行查询语句
NSError *error = nil;
NSArray*fetchedObjects=[[CoreDataTool shareInstance].managedObjectContext executeFetchRequest:fetchRequest error:&error];
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jacob_ios/article/details/51549408
文章标签: core-data 数据库
个人分类: iOS_应用
想对作者说点什么? 我来说一句

Core Data objc

2017年11月24日 1.81MB 下载

objc Core Data高清正版

2018年03月13日 3.05MB 下载

Core Data使用例子

2013年07月25日 50KB 下载

没有更多推荐了,返回首页

不良信息举报

Core Data的使用

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭