如何在以编程方式创建实体时设置 NSManagedObjectModel 的配置。
Posted
技术标签:
【中文标题】如何在以编程方式创建实体时设置 NSManagedObjectModel 的配置。【英文标题】:How to set configuration of NSManagedObjectModel while creating Entites programatically. 【发布时间】:2018-09-15 21:52:28 【问题描述】:我正在使用 SWIFT 以编程方式在核心数据的托管对象模型中创建实体。
当我创建一个 NSEntityDescription 数组并将其传递给
让 managedObjectModel : NSManagedObjectModel = NSPersistentContainer(name: "Nequore").managedObjectModel
managedObjectModel.setEntities(arrEntities, forConfigurationName:"Default")
我正面临与模型配置相关的崩溃,该配置表明
*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“配置的实体必须已经在模型中。”
感谢您的时间和考虑。
【问题讨论】:
【参考方案1】:我认为Apple documentation for NSManagedObjectModel 中解释了这次崩溃。阅读段落以编程方式编辑模型。
您的声明 let managedObjectModel
正在创建一个持久容器(核心数据堆栈),包括一个托管对象模型,它可能是空的(没有实体),我猜创建持久容器是 使用 以这样的方式模型,根据该文档,它不应再被编辑。尝试首先创建您的托管对象模型,完成所有实体,然后然后将该模型传递给NSPersistentContainer init(name:managedObjectModel:)
。
【讨论】:
以上是关于如何在以编程方式创建实体时设置 NSManagedObjectModel 的配置。的主要内容,如果未能解决你的问题,请参考以下文章
如何在以编程方式创建的 UIButton 上添加 padding-left?