CoreData两个表通过属性关联
来源:互联网 发布:mac apache配置 编辑:程序博客网 时间:2024/05/29 04:03
1:一个人有1辆车
//0.获取AppDelegate的对象 AppDelegate *app = [UIApplication sharedApplication].delegate; //1.插入一条数据 //[两个表]一对1 一个人有1辆车 People *p = [NSEntityDescription insertNewObjectForEntityForName:@"People" inManagedObjectContext:app.managedObjectContext]; p.name = @"zs"; Car *car = [NSEntityDescription insertNewObjectForEntityForName:@"Car" inManagedObjectContext:app.managedObjectContext]; p.car =car; car.name = @"lisi"; [app saveContext];////保存数据 //2.查询数据 //(1)创建请求 NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"People"]; //(2)查询结果 NSArray *resultArray = [app.managedObjectContext executeFetchRequest:request error:nil]; [resultArray enumerateObjectsUsingBlock:^(People *p, NSUInteger idx, BOOL *stop) { NSLog(@"p.name=%@ p.car.name=%@",p.name,p.car.name); }];
2:一个人拥有多辆车
//1.插入一条数据 People *p = [NSEntityDescription insertNewObjectForEntityForName:@"People" inManagedObjectContext:app.managedObjectContext]; p.name =@"狗蛋"; Car *car1 = [NSEntityDescription insertNewObjectForEntityForName:@"Car" inManagedObjectContext:app.managedObjectContext]; car1.name = @"00000"; Car *car2 = [NSEntityDescription insertNewObjectForEntityForName:@"Car" inManagedObjectContext:app.managedObjectContext]; car2.name = @"BMW"; Car *car3 = [NSEntityDescription insertNewObjectForEntityForName:@"Car" inManagedObjectContext:app.managedObjectContext]; car3.name = @"QQ"; Car *car4 = [NSEntityDescription insertNewObjectForEntityForName:@"Car" inManagedObjectContext:app.managedObjectContext]; car4.name = @"MSLD"; Car *car5 = [NSEntityDescription insertNewObjectForEntityForName:@"Car" inManagedObjectContext:app.managedObjectContext]; car5.name = @"LBJL"; //[两个表]一对多 一个人有多辆车 [p addCarObject:car1]; [p addCar:[NSSet setWithObject:car2]]; [p addCar:[NSSet setWithObjects:car3,car4,car5, nil]]; [app saveContext]; //2.查询数据 //(1)创建请求 NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"People"]; //(2)查询结果 NSArray *resultArray = [app.managedObjectContext executeFetchRequest:request error:nil]; [resultArray enumerateObjectsUsingBlock:^(People *p, NSUInteger idx, BOOL *stop) { NSLog(@"..........%@ ",p.name); for (Car *car in p.car) { NSLog(@"人car.name=.........%@",car.name); } }]; People *pp = [resultArray lastObject]; for (Car *car in pp.car) { NSLog(@"最后一个人car.name=.........%@",car.name); }
3:相互一一对应
AppDelegate *app = [UIApplication sharedApplication].delegate; //1.插入一条数据 People *p = [NSEntityDescription insertNewObjectForEntityForName:@"People" inManagedObjectContext:app.managedObjectContext]; p.name =@"狗剩"; Car *car = [NSEntityDescription insertNewObjectForEntityForName:@"Car" inManagedObjectContext:app.managedObjectContext]; car.name = @"Benz"; //一一对应关系 p.car = car; car.people = p; [app saveContext]; //2.查询 NSFetchRequest *req = [NSFetchRequest fetchRequestWithEntityName:@"People"]; NSArray *array = [app.managedObjectContext executeFetchRequest:req error:nil]; People *pp = [array lastObject]; NSLog(@"1...%@ 2>>>>>>>>>>>>>>>>>>>>>>>>>%@",pp.name,pp.car); /* 1...狗剩 2>>>>>>>>>>>>>>>>>>>>>>>>><Car: 0x7fa5c2c604d0> (entity: Car; id: 0xd000000000140000 <x-coredata://A0E5E48F-0A5C-4E1C-AA48-DC75D34B3C27/Car/p5> ; data: { name = Benz; people = "0xd000000000140002 <x-coredata://A0E5E48F-0A5C-4E1C-AA48-DC75D34B3C27/People/p5>"; })*/
0 0
- CoreData两个表通过属性关联
- CoreData表关联
- EXCEL两个表如何通过关联合并
- 【CoreData】表之间的关联
- Coredata的多表关联
- 【iOS】CoreData对象关联时,自动生成的关联属性类型不对
- 两个txt文件通过某一字段关联
- 两个表的关联
- 两个表关联更新
- IOS类别通过关联对象添加属性
- CoreData的简单使用<二、CoreData两张数据库表的关联操作>
- iOS学习之CoreData多表关联使用
- 16-CoreData之多表关联(存储自定义数据模型)
- 过滤关联表属性
- CoreData的外键关联
- 关联表的两个代码
- 两个MYSQL表关联查询
- 两个MYSQL表关联查询
- iOS开发中如何合理地制造BUG
- 阿里云 新域名跳转到另外一个域名(一级或者二级)地址
- 搭建FTP服务器
- Kinect的三维重建
- iOS 中很多字体字符串UIFont
- CoreData两个表通过属性关联
- 国内UED网站大全
- leetcode 30. Substring with Concatenation of All Words
- 瀑布模型&敏捷开发
- 添加控制器View到父控制器却不见这样莫名奇妙的错误
- CInternetSessio和CFtpConnection连接FTP
- git使用ssh密钥
- 【DSP开发技术】影响高性能DSP功耗的因素及其优化方法
- Mahout学习路线图