我从这里阅读了一篇关于核心数据迁移的文章:http://www.objc.io/issue-4/core-data-migration.html .我不明白以下行:
[destinationInstance performSelector:@selector(addAuthorsObject:) withObject:author];
destinationInstance是一本书NSManagedObject,作者是NSManagedObject的作者。它们是相关的(一本书可以有多个作者,一个作者可以写多本书。)。上面的代码应该建立这种关系。但是这个 addAuthorsObject: 在哪里被声明?如何将 NSManagedObject 关系添加到我自己项目中的另一个 NSManagedObject?
最佳答案
您发布的代码与 [destinationInstance addAuthorsObject:author]
相同; addAuthorsObject:
是一个在运行时由 Core Data 自动添加到您的 NSManagedObject
子类的方法,因为您已经声明该对象具有称为 authors 的一对多关系
。
所以 addAuthorsObject:
没有声明;它是在加载架构时创建的。您无法查看它,因为它实际上并没有写在任何地方。
Xcode 有一个用于 Core Data 模式的图形编辑器;您应该使用它来添加额外的对象、属性和关系。然后您可能想要为您的模型对象创建自定义子类,但这实际上并不是必需的。
关于ios - 核心数据迁移 addAuthorsObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26657552/