我想在应用运行期间以编程方式向实体添加属性。
您会建议这样做吗,还是会导致问题?
我需要如何结合NSAttributeDescription
和NSEntityDescription
?我熟悉使用Xcode创建模型,但是还没有使用NSEntityDescription
进行建模。
最佳答案
从理论上讲这是可能的,但似乎不太实用。
您可以通过编程方式修改NSManagedObjectModel
以及NSEntityDescription
。请注意,如果您修改了已实例化的模型,则-setEntities:
(NSManagedObjectModel)和-setProperties:
(NSEntityDescription)都会触发异常。因此,您无法修改现有模型的结构。您必须创建一个新的数据库,然后根据新模型将所有数据从旧的Core Data堆栈复制到新的数据库。
使用NSMutableDictionary是一种更明智的方法。