初学Core data笔记
2016-07-09 11:29
302 查看
构成
(1)NSManagedObjectContext
作用:插入数据,查询数据,删除数据
(2)NSManagedObjectModel
数据库所有表格或数据结构,包含各种实体的定义信息
作用:添加实体的属性,建立属性之间的关心
(3)NSPersistentStoreCoordinator
相当于数据库的连接器
作用:设置数据存储的名字,位置,存储方式,和存储时机
(4)NSManagedObject
相当于数据库中的表格记录
快速使用步骤
操作步骤
1、准备工作
新建项目,勾选Use Core Data
打开系统默xxx.xcdatamodeld
创建实体-Entity类似于SQLite中的表
选择Add Entity,建立如下图所示的实体
选择菜单项Editor - Create NSManagedObject SubClasses,勾选所有看到的选项
插入数据代码
查询数据代码
先简单写这些。。。
(1)NSManagedObjectContext
作用:插入数据,查询数据,删除数据
(2)NSManagedObjectModel
数据库所有表格或数据结构,包含各种实体的定义信息
作用:添加实体的属性,建立属性之间的关心
(3)NSPersistentStoreCoordinator
相当于数据库的连接器
作用:设置数据存储的名字,位置,存储方式,和存储时机
(4)NSManagedObject
相当于数据库中的表格记录
快速使用步骤
操作步骤
1、准备工作
新建项目,勾选Use Core Data
打开系统默xxx.xcdatamodeld
创建实体-Entity类似于SQLite中的表
选择Add Entity,建立如下图所示的实体
选择菜单项Editor - Create NSManagedObject SubClasses,勾选所有看到的选项
插入数据代码
-(void)insertCoreData { NSManagedObjectContext * context = [self managedObjectContext]; NSManagedObject * person = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:context]; [person setValue:@"jk" forKey:@"name"]; [person setValue:[NSNumber numberWithInt:28] forKey:@"age"]; NSManagedObject * card = [NSEntityDescription insertNewObjectForEntityForName:@"Card" inManagedObjectContext:context]; [card setValue:[NSString stringWithFormat:@"%ld",(NSInteger)[[NSDate date] timeIntervalSince1970]] forKey:@"no"]; [card setValue:person forKey:@"person"]; NSError * error; if (![context save:&error]) { NSLog(@"不能保存:%@",[error localizedDescription]); } }
查询数据代码
-(void)dataFetchRequest { NSManagedObjectContext * context = [self managedObjectContext]; NSFetchRequest * fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription * entity = [NSEntityDescription entityForName:@"Card" inManagedObjectContext:context]; [fetchRequest setEntity:entity]; NSError * error; NSArray * fetchedObjects = [context executeFetchRequest:fetchRequest error:&error]; for (Card * card in fetchedObjects) { NSLog(@"no:%@",card.no); NSLog(@"name:%@",card.person.name); NSLog(@"age:%@",card.person.age); } // for (NSManagedObject * obj in fetchedObjects) { // NSLog(@"no:%@",[obj valueForKey:@"no"]); // NSLog(@"name:%@",[[obj valueForKey:@"person"] valueForKey:@"name"]); // NSLog(@"age:%@",[[obj valueForKey:@"person"] valueForKey:@"age"]); // } }
先简单写这些。。。
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- Tomcat端口被占用解决方法(不用重启)
- 第三章 数据库备份和还原
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解
- “传奇”图象数据存储方式
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置
- Oracle数据库执行脚本常用命令小结
- Oracle 数据库 临时数据的处理方法