iPhone Core Data如何在更改数据模型后更新NSManagedObjects .h和.m

jam*_*one 3 iphone core-data objective-c ipad

我制作了一个数据模型,现在我已经制作了第二个版本.映射到该数据模型的所有生成的NSManagedObject都是版本1.是否有某种方法可以将它们更新为v2而不删除它们,然后说再次生成它们?

Mar*_*rra 5

如果您有两个版本的模型,则需要在两个版本之间创建映射模型,或者如果更改足够简单以便Core Data解析,则需要启用自动迁移.

我建议查看Apple关于Core Data迁移主题的文档.

更新

我正在使用自动迁移.但是说我在v1中有一个人条目,只是姓氏和名字.在v2中,我添加了出生日期.在制作了v1的数据模型后,我告诉Xcode生成了NSManaged对象(在这个例子中是Person.m),现在我已经建立了自动迁移的v2模型.如何更新Person.m以添加DOB而不删除然后再次添加或手动添加DOB?

NSManagedObject会已经有它在那里,如果你想添加的属性(而不是仅仅的属性),那么两行代码,只需键入到您的NSManagedObject子类.

更新

我强烈推荐的其他选项是使用mogenerator而不是内置代码生成器.mogenerator将在模型更改后使文件保持最新.