核心数据迁移addAuthorsObject

时间:2014-10-30 15:49:50

标签: ios core-data-migration

我从这里读了一篇关于核心数据迁移的文章:http://www.objc.io/issue-4/core-data-migration.html。我不明白以下几行:

[destinationInstance performSelector:@selector(addAuthorsObject:) withObject:author];

destinationInstance是一本书NSManagedObject,作者是作者NSManagedObject。它们是相关的(一本书可以有多个作者,作者可以写多本书。)。上面的代码应该建立这种关系。但这个addAuthorsObject在哪里:被声明?如何在我自己的项目中将NSManagedObject关系添加到另一个NSManagedObject?

1 个答案:

答案 0 :(得分:1)

您发布的代码与[destinationInstance addAuthorsObject:author]相同; addAuthorsObject:是Core Data在运行时自动添加到NSManagedObject子类的方法,因为您已声明该对象具有称为authors的多对多关系。

因此未声明addAuthorsObject:;它是在加载模式时创建的。你不能看它,因为它实际上并没有写在任何地方。

Xcode有一个用于Core Data架构的图形编辑器;你应该用它来添加额外的对象,属性和关系。然后,您可能希望为模型对象创建自定义子类,但实际上并不需要它。