swift coredata relationship

coredata relationship 开发过程有很多细节需要大家注意。稍有不慎就会困在某个地方无法动弹。

  1. 创建Entity  ContactsDetail(成员)和 ContactsGroup(组)
  2. ContactsDetail添加属性,并设置属性value类型
  3. ContactsGroup添加属性,并设置属性value类型
  4. ContactsDetail添加relationship,起名字。并Destination为ContactsGroup,Inverse选定为detail。Delete Rule设定为Nullify(无效)
  5. ContactsGroup,添加relationship。起名字。并Destination为ContactsDetail,Inverse选定为contactsGroup。Delete Rule设定为Cascade(串联)
  6. 生成所需文件(.h   .m )完成前期准备工作

 

 

开始代码

 

**********************************调用方法**********************************

获取所有组

controlListArray = DataBaseClass.DBContactsGroupReadAllData()

插入一个组

DataBaseClass.DBContactsGroupInsert(["name":input!])

删除一个组

let group = controlListArray![indexPath.row] as ContactsGroup

DataBaseClass.DBContactsGroupDeleteObject(group)

获取指定组中所有成员(要把组实体对象传入)

controlListArray = DataBaseClass.DBContactsDetailReadAllData(currentGroup!)

指定组中创建一个成员

DataBaseClass.DBContactsDetailInsert(group!, dataDic: ["name":"张三", "sex":"男", "age":"18"])

删除指定组中某个成员

let detailData = controlListArray![indexPath.row] as ContactsDetail

DataBaseClass.DBContactsDetailDeleteObject(detailData)

 

 

细节备注

  1. 创建关系时,选择Inverse可能会没有值.要把两个实体的关系全部创建并命名,然后就可以分别选择了
  2. 删除组,成员却没有从“数据库”中删除。组关系的Delete Rule一定要选择Cascade(就是 串联起来,串联删除)

 

效果图参考

 

转载于:https://www.cnblogs.com/madaha/p/4204217.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值