更新Core-Data Model Entity和支持的NSManagedobject子类

Ran*_*ith 5 core-data objective-c core-data-migration ios

假设我有一个具有3个属性的模型实体.
然后,我为该实体生成NSManagedobject子类,并将自定义方法以及属性添加到此类.
在稍后的一天,我为这个实体添加了一些新属性.

目标
我希望支持的NSManagedobject子类反映这些新属性.

问题
我看到的唯一解决方案是在Xcode中使用{Editor-> Create NSManagedobject Subclass},但这样会覆盖该类.

问题
有没有办法更新实体和支持的NSManagedobject子类而不覆盖类.

que*_*ish 8

手动编辑托管对象子类很好.假设您向实体添加了新的字符串属性.您可以向托管对象子类添加属性:

@property (nonatomic, copy) NSString *myAttribute;
Run Code Online (Sandbox Code Playgroud)

并将其标记为动态:

@dynamic myAttribute;
Run Code Online (Sandbox Code Playgroud)

完成!让Xcode生成类是为了提供一个起点.它没有做任何超级特殊的事情来将你的属性绑定到实体属性.

  • 使用类别,只要在编辑器中进行更改,就可以重新生成子类,而不会影响类别中的覆盖行为. (4认同)