我想在应用运行期间以编程方式向实体添加属性。

您会建议这样做吗,还是会导致问题?

我需要如何结合NSAttributeDescriptionNSEntityDescription?我熟悉使用Xcode创建模型,但是还没有使用NSEntityDescription进行建模。

最佳答案

从理论上讲这是可能的,但似乎不太实用。

您可以通过编程方式修改NSManagedObjectModel以及NSEntityDescription。请注意,如果您修改了已实例化的模型,则-setEntities:(NSManagedObjectModel)和-setProperties:(NSEntityDescription)都会触发异常。因此,您无法修改现有模型的结构。您必须创建一个新的数据库,然后根据新模型将所有数据从旧的Core Data堆栈复制到新的数据库。

使用NSMutableDictionary是一种更明智的方法。

09-26 19:05