如果我在多对多关系中添加相同的 NSManagedObject 会发生啥?
Posted
技术标签:
【中文标题】如果我在多对多关系中添加相同的 NSManagedObject 会发生啥?【英文标题】:What would happen if I add the same NSManagedObject in to-many relationship few times?如果我在多对多关系中添加相同的 NSManagedObject 会发生什么? 【发布时间】:2012-05-05 07:14:17 【问题描述】:我需要在Object A的多对多关系中插入几个NSManagedObject子类实例(Object B),但不知道这些对象 B 已存在于 对象 A 关系中。如果我插入它们会发生什么?它们会被插入两次,还是 Core Data 不会这样做?
【问题讨论】:
【参考方案1】:因为多对多关系是作为NSSet
访问的,所以只会添加唯一的对象(这是 NSSet 的一个特性),所以您不必担心先检查它是否已经存在。
引用NSSet
的文档:
NSSet 为不同对象的静态集合声明编程接口。
来自NSMutableSet
文档:
添加对象:
将给定对象添加到集合中,如果它还不是成员。
- (void)addObject:(id)object
参数
对象
要添加到集合中的对象。
【讨论】:
以上是关于如果我在多对多关系中添加相同的 NSManagedObject 会发生啥?的主要内容,如果未能解决你的问题,请参考以下文章
自跟踪实体 SaveChanges() 在多对多关系中添加实体时出现异常
Symfony 3.4 - 如果在多对多关系上不存在,则持续存在