CoreData框架的使用
来源:互联网 发布:冻脸效应 知乎 编辑:程序博客网 时间:2024/06/06 22:11
CoreData框架使用的思路:
一、创建上下文的思路
1.”初始化 NSManagedObjectModel 对象,加载模型文件,读取 app 中所有的实体信息
NSManagedObjectModel * model = [NSManagedObjectModel mergedModelFromBundles:nil];
2.”根据 model 来初始化,NSPersistentStoreCoordinator 对象,并添加持久化库
NSPersistentStoreCoordinator * psc = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:model];
2.1”添加数据库
NSString * doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];NSURL * url = [NSURL fileURLWithPath:[doc stringByAppendingPathComponent:@"person.sqlite"]];[psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:url options:nil error:nil];
3.”根据 psc 初始化上下文NSManagedObjectContext 对象
NSManagedObjectContext *context = [[NSManagedObjectContext alloc ] initWithConcurrencyType:NSPrivateQueueConcurrencyType];context.persistentStoreCoordinator = psc;
二、添加数据到数据库思路
1.”根据上下文创建对象
Person * person = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:self.context];person.name = @"WB";person.age = 26;
2.”利用上下文对象,将数据同步到持久化存储库
[context save:nil];
三、从数据库中查找数据
1.”初始化一个查询请求
NSFetchRequest *request = [[NSFetchRequest alloc] init];
2.”设置要查询的实体
request.entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.context];
3.”执行请求
NSArray *objs = [self.context executeFetchRequest:request error:nil];
四、删除数据库中的数据
1.”传入需要删除的实体对象
[context deleteObject:managedObject];
2.”将结果同步到数据库
[context save:nil];
0 0
- CoreData框架的使用
- 使用CoreData数据库框架的简单方式
- XMPP框架 微信项目开发之CoreData学习——CoreData的基本使用
- CoreData的使用
- CoreData - Mogenerator 的使用
- CoreData的使用
- CoreData的简单使用
- coredata的使用
- CoreData的使用
- CoreData的基本使用
- CoreData 的是使用
- CoreData+MagicalRecord的使用
- CoreData的基本使用
- CoreData的使用
- CoreData的使用
- CoreData的使用
- IOS - CoreData的使用
- CoreData 的使用 ---转载
- Linux内核工程导论——电源管理子系统
- 微信
- 软件开发(5):重定义一些基本数据类型
- leecode algo2: Add Two Numbers (Java)
- Intent Firewall 防火墙
- CoreData框架的使用
- 会话技术:Cookie和Session
- 软件开发(6):程序的版式和注释
- C#与数据结构
- UI_XML_JSON数据解析
- a+b问题
- Age Sort UVA 11462
- LeetCode Record (Easy)
- Linux内核工程导论——社会知识