06-CoreData增删改查
2016-07-11 17:32
302 查看
前言
数据库的操作无非就四个字:增删改查如何查看CoreData操作数据库的过程?
添加SQL打印 在Edit schemes的Run中添加Arguments:-com.apple.CoreData.SQLDebug 11.1-CoreData增加数据
Person *p = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:kManagedObjectContext.managedObjectContext]; p.age = @(13); p.name = @"张三"; [kManagedObjectContext save];
1.2-CoreData查询数据
//1.创建一个查询请求 NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Person"]; //2.创建查询谓词(查询条件) NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@",@"张三"]; //3.给查询请求设置谓词 request.predicate = predicate; //4.查询数据 NSArray<Person*> *arr = [kManagedObjectContext.managedObjectContext executeFetchRequest:request error:nil]; NSLog(@"%@====%@",arr.firstObject.name,arr.firstObject.age);
1.3-CoreData修改数据
//1.创建一个查询请求 NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Person"]; //2.创建查询谓词(查询条件) NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@",@"张三"]; //3.给查询请求设置谓词 request.predicate = predicate; //4.查询数据 NSArray<Person*> *arr = [kManagedObjectContext.managedObjectContext executeFetchRequest:request error:nil]; //5.改变数据 arr.firstObject.name = @"李四"; arr.firstObject.age = @(18); //6.同步到数据库 [kManagedObjectContext save];
1.4-CoreData删除数据
//1.创建一个查询请求 NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Person"]; //2.创建查询谓词(查询条件) NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@",@"张三"]; //3.给查询请求设置谓词 // request.predicate = predicate; //4.查询数据 NSArray<Person*> *arr = [kManagedObjectContext.managedObjectContext executeFetchRequest:request error:nil]; //5.删除数据 [kManagedObjectContext.managedObjectContext deleteObject:arr.firstObject]; //6.同步到数据库 [kManagedObjectContext save];
通过log打印可以看出,CoreData插入一条数据只需要0.0001秒,这个效率还是非常高的
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 数据库链接字符串查询网站
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- DB2实例管理
- DB2实例管理
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 第三章 数据库备份和还原
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解