假设我有一个具有3个属性的模型实体 然后,我为该实体生成NSManagedobject子类,并将自定义方法以及属性添加到此类中 在稍后的一天,我为这个实体添加了一些新的属性。
目标
我希望支持的NSManagedobject子类能够反映这些新属性。
问题
我看到的唯一解决方案是在Xcode中{Editor->创建NSManagedobject Subclass},但这样会覆盖该类。
问题
有没有办法更新实体和支持的NSManagedobject子类而不覆盖该类。
答案 0 :(得分:8)
手动编辑托管对象子类很好。 我们假设你为实体添加了一个新的字符串属性。您可以向托管对象子类添加属性:
@property (nonatomic, copy) NSString *myAttribute;
并将其标记为动态:
@dynamic myAttribute;
完成!让Xcode生成类旨在提供起点。它没有做任何超级特殊的事情来将你的财产绑定到实体属性。
答案 1 :(得分:3)
这是您经常面对Core Data的问题。您显然可以执行@quellish建议并手动更改文件,但这是一种简单的方法,可以将自定义行为添加到NSManagedObject
类,并保留自动生成NSManagedObject .m和。 h文件是使用类别。
我通常会在MyNSManagedObject (Management)
这样的类别中添加所有自定义行为,所以每当我更新模型中的属性时,我只需使用模型编辑器重新生成父文件,并在类别中重新生成所有自定义代码保持不变。
答案 2 :(得分:0)