【发布时间】:2023-04-02 11:58:01
【问题描述】:
我在我的 iOS 应用程序中使用 CoreData。在创建NSManagedObject 类时,我大多数时候都会遇到问题。
这就是我的工作:
- 我在
.xcdatamodeld文件中创建了一个实体。 - 创建属性和关系。
- 选择选项
Editor->Create NSManagedObject Class以创建.h和.m类。 - 在
.h和.m类中,我创建了一些用于获取/保存对象的自定义方法。
到目前为止一切顺利。但是以后如果我必须更改某些属性,我会重复第 2 步和第 3 步。但这一次,我在第 4 步中编写的所有自定义代码都会自动删除。
所以我的问题是如何更新现有的类?而不是使用选项Editor->Create NSManagedObject Class 删除我所有的自定义代码。
感谢任何帮助。
更新:
测试了两种方法(Categories 和 Mogernator),对我来说看起来不错。但我选择了作为纯 Xcode 方法的类别。我不想冒任何第三方可能因 XCode 更新而中断或可能导致数据迁移问题的风险。
感谢@Tom Harrington 和@Valentin Shamardin 指导我:)
【问题讨论】:
-
您无法更新现有的类,Xcode 将始终覆盖文件。您可以使用类别(如下面的答案所述)或使用“mogenerator”(参见stackoverflow.com/questions/18190845/… 进行比较)。但在这两种情况下,每个实体都有两个类。
标签: ios iphone objective-c core-data nsmanagedobject