具有关系的 NSManagedObject 的 Coredata 和 Generated 子类

Posted

技术标签:

【中文标题】具有关系的 NSManagedObject 的 Coredata 和 Generated 子类【英文标题】:Coredata and Generated subclass for NSManagedObject with relations 【发布时间】:2012-01-05 09:57:49 【问题描述】:

使用“创建 NSManagedObject 子类”选项为 2 个实体生成子类 Xcode 创建 4 个文件...好吧,我不明白如何使用创建的函数来管理关系

@interface Person (CoreDataGeneratedAccessors)

- (void)addPersonContactObject:(Contacts *)value;
- (void)removePersonContactObject:(Contacts *)value;
- (void)addPersonContact:(NSSet *)values;
- (void)removePersonContact:(NSSet *)values;

@end

这只是接口,我必须实现这些方法吗?它们什么时候有用? 我发现一对多的关系是用 NSSet 管理的...不是可变对象我怀疑与此有关吗?

【问题讨论】:

【参考方案1】:

您不必实现它们,它们在那里声明以防止编译器警告,如here 所述。

您可以使用 *Object 来在关系中添加和删除单个项目,但从一对多关系的“一”端管理它通常更简单(也就是说,设置联系人中的人,而不是相反)。

【讨论】:

以上是关于具有关系的 NSManagedObject 的 Coredata 和 Generated 子类的主要内容,如果未能解决你的问题,请参考以下文章

如何在不复制目标 NSManagedObject 的情况下将目标 NSManagedObject 添加到另一个具有反向多对多核心数据关系的对象?

过滤 NSManagedObject 的关系

具有反应性目标 c 的 NSManagedObject [关闭]

使用父 NSManagedObject 上的关系枚举子实体 VS 使用 NSFetchRequest

核心数据 executeFetchRequest 返回 NSManagedObject

自定义 NSManagedObject 类从 NSOrderedSet 添加/删除对象