iphone - 核心数据关系的自定义 setter 强制反向、互惠关系

标签 iphone ios core-data entity-relationship nsmanagedobject

我想为一个NSManagedObject核心数据一对多关系(Object.related)创建一个自定义setter,这样当对象A添加到B.related时,B自动添加到A.related,如果A 从 B.related 中移除,B 自动从 A.related 中移除。我之前已经能够为基本属性(例如 NSString 和 NSNumber 属性)创建自定义 setter ,但这让我有些头疼。当我的函数 -(void)setRelated:(NSSet*)newSet 被调用时,似乎 Self.related 属性已经用 newSet 列表设置了!这里的最佳做法是什么?我还研究了使用 didChangeValueForKey:(NSString *)inKey withSetMutation:(NSKeyValueSetMutationKind)inMutationKind usingObjects:(NSSet *)inObjects 来观察这个属性,但没能让它正常工作。

最佳答案

关系的逆向由 CoreData 管理(如果您在模型中设置了它)。如果您尝试手动执行此操作,您最终会遇到各种麻烦。

逆是所有关系的属性,如果它们未在建模工具中设置,您应该会收到警告。

关于iphone - 核心数据关系的自定义 setter 强制反向、互惠关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5795439/

相关文章:

iphone - 强制 UITableView 滚动到单元格顶部

ios - 禁用将其移动到上一个屏幕的 ios 应用程序的滑动功能

ios - 如何获取我上传的图片的 url?

ios - Swift2 中的 coreData - 更新条目

iphone - 如何在每页的基础上更改导航栏的背景图像?

iphone - CocoaPods 的团队合作问题

iphone - View 出现在键盘窗口上。如何解决

ios - 当用户在表格 View 中向下滚动时隐藏 View

ios - 核心数据对象应该在午夜自动排序

database - 如何使用带有插入/删除的核心数据(或 SQL)维护有序表?