当模型编辑器中的模型更改时重新创建 NSManagedObject 子类

Posted

技术标签:

【中文标题】当模型编辑器中的模型更改时重新创建 NSManagedObject 子类【英文标题】:recreate NSManagedObject subclasses when the model changes in the model editor 【发布时间】:2013-06-09 16:39:47 【问题描述】:

我想知道在 Core Data 模型编辑器中更改属性或添加字段后是否有更新 NSMangedObject 子类的方法。有时我添加一个字段,或者意识到我不小心将整数而不是字符串作为类型,但我的 NSManagedObject 子类已经创建。因此,与其手动进入并添加这些字段,我想知道 Xcode 是否有办法只更新模型?谢谢。

【问题讨论】:

你一定要看看mogenerator。它从对象模型生成类。 【参考方案1】:

其他人已经解释了如何重新创建文件,但请注意文件会覆盖原始文件,因此如果您进行了任何手动添加(例如额外的方法),您将丢失它们。在再次写出文件之前备份可能会很有用。

如果您确实需要向 NSManagedObject 子类添加功能,请考虑在单独的文件中使用类别。这样您就可以在 Core Data 编辑器中调整您的类,重新导出您的文件并避免丢失您的附加功能,因为它保存在类别文件中。

【讨论】:

这很巧妙。另外,我为自己没有意识到这一点而感到难过,而且b)要早得多。谢谢。 正如@katzenhut 所说,天才。【参考方案2】:

我相信你只需要去文件 -> 新建 -> 文件 -> ios 下的核心数据 -> NSManagedObject 子类,从那里就可以自我解释了。

您还可以查看 mogenerator,这是一个开放的 API,可帮助您管理更多核心数据。

【讨论】:

以上是关于当模型编辑器中的模型更改时重新创建 NSManagedObject 子类的主要内容,如果未能解决你的问题,请参考以下文章

Ember:模型更改时重新渲染路线的模板

在模型更新后,Carrierwave不会重新创建版本

响应 Django 中的模型更改?

使用文件字段编辑 Django 模型而不重新上传文件

UITableView 不会在使用 NSFetchedResultsController 更改模型时重新加载

当视图模型中的状态发生变化时,为啥路由的 Composable 会重新组合?