我想为一个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/