• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

iOS Core Data 一对多关系

[复制链接]
菜鸟教程小白 发表于 2022-12-12 09:28:08 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

好的,所以我了解获取请求,并且可以访问彼此之间的一对一关系。我很难理解一对多。

我的例子:一个郊区有许多街道,这些街道属于一个郊区。这将创建 NSSet 属性。如何将街道及其属性(即@“名称”)添加到特定郊区。我有一个列出郊区的 TableView,当您单击郊区时,它应该显示与该特定郊区相关的街道。

我知道这里还有许多其他核心数据问题,但阅读它们只是出于某种原因并没有在我的脑海中“点击”。

我正在使用 MagicalRecord,但据我了解,我所做的只是最小化我必须编写的代码,因此在我什至可以在 MR 上尝试之前,我需要了解如何在 Core Data 中执行此操作。



Best Answer-推荐答案


1:创建郊区实体的实例:

    AppDelegate* appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    NSManagedObjectContext* context = [appDelegate managedObjectContext];
    Suburb *mySuburb = [NSEntityDescription insertNewObjectForEntityForName"Suburb" inManagedObjectContext:context];

2:初始化郊区街道的集合

mySuburb.streets = [[NSMutableSet alloc]init];

3:创建街道:

    Street *myStreet = [NSEntityDescription insertNewObjectForEntityForName"Street" inManagedObjectContext:context];

4:“链接”两者

myStreet.suburb = mySuburb;
[mySuburb addStreetObject:myStreet];

编辑:以上假设您创建了正确的关系。理想情况下,街道关系属性为级联类型关系,郊区关系属性无效。 如果是这种情况,当您删除一条街道时,它将从属于郊区的街道集中消失。如果你删除一个郊区,它会同时删除所有的街道。

哦,别忘了保存上下文。

关于iOS Core Data 一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23097292/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap