Coredata的多表关联
来源:互联网 发布:心动网络 笔试 编辑:程序博客网 时间:2024/06/05 11:59
当你会使用单个Coredata数据库表了,那你就会想到,如果两张表有一定的关联了。而且经常会有根据互相关联的表去查找。
其实Coredata的多表关联,以及关联查找功能并没有sqlite3的强大,所以了,如果遇到复杂和太多表的关联情况,意见使用sqlite3或者是对它封装的第三方框架FMBD。Coredat的多表关联,就是建立在简单的使用的基础上添加几点就可以了,如果还不会使用Coredata,可以先进入简单的使用:
http://blog.csdn.net/mjx342112780/article/details/52084297
一、在建立model的实体的时候,先建立子表实体的信息,然后在建立父表实体的信息,在Relationships中建立联接关系。
二、同样生生成两个表的实体类NSManageObject subclass,基中在建立的实体类中,你会发现它会出出以第一个实体类为属性的字段存在,这个就是关联属性。
三、代码使用不同的一些地方,这里我只举例,增加和查找,其他的CURD可以类推
1.增加时
- (IBAction)addMebersAction:(id)sender { // 创建部门 Department *dep1=[NSEntityDescription insertNewObjectForEntityForName:@"Department" inManagedObjectContext:self.companyContext]; dep1.name=@"iOS"; dep1.creatDate=[NSDate date]; dep1.departNo=@"00000100";// 创建zhangsan Employee *emp1 =[NSEntityDescription insertNewObjectForEntityForName:@"Employee" inManagedObjectContext:self.companyContext]; emp1.name=@"zhangsan"; emp1.height=@1.8; emp1.age=@25; emp1.depart=dep1; [self.companyContext save:nil];}
2.查找时
- (IBAction)findMebersAction:(id)sender { NSFetchRequest *request =[NSFetchRequest fetchRequestWithEntityName:@"Employee"]; NSPredicate *pre =[NSPredicate predicateWithFormat:@"depart.name=%@",@"iOS"];//以点语法可以去查找 request.predicate= pre; NSArray *emps = [self.companyContext executeFetchRequest:request error:nil]; NSLog(@"%@",emps);}
更新和删除都可以以此类推。
0 0
- Coredata的多表关联
- 【CoreData】表之间的关联
- CoreData表关联
- XMPP框架 微信项目开发之CoreData学习——CoreData的多表关联操作
- CoreData的外键关联
- CoreData的简单使用<二、CoreData两张数据库表的关联操作>
- iOS学习之CoreData多表关联使用
- CoreData两个表通过属性关联
- CoreData 从入门到精通(三)关联表的创建
- coredata多表查询
- 16-CoreData之多表关联(存储自定义数据模型)
- 【iOS】CoreData对象关联时,自动生成的关联属性类型不对
- iOS coredata 多表查询
- ios CoreData框架的使用,对上下文数据的增删改查,表与表之间的关联,1对多,1对1,谓词查询,多表连接
- ios CoreData框架的使用,对上下文数据的增删改查,表与表之间的关联,1对多,1对1,谓词查询,多表连接
- ios Coredata 关联 UITableView 数据自动更新
- CoreData 中使用较多的类
- coredata中的默认表的字段
- Best Time to Buy and Sell Stock III
- 网易笔试编程题:最多可放蛋糕数(C++)
- 51Nod Problem 1068 Bash游戏 V3(博弈,sg函数)
- Hbase总结(六)hbase37个笔试题
- jsp延迟加载图片
- Coredata的多表关联
- 浙大PAT甲级 1069
- STM32之CAN---错误管理分析
- Myeclipse 2015 stable 1.0 完美破解方法
- 线性连续调频波目标求解距离公式来源
- opencv2自带应用实例:contours2.cpp
- Android 程序的的"现场保护"
- yii2-rules条件验证应用
- 在用Spring开发细节注意点 静态资源文件