Swift - 在App Group中共享核心数据模型(带扩展名)

Ste*_*ell 6 core-data widget swift

我正在尝试在我的应用程序中使用相同的核心数据模型以及扩展,但我不确定如何在2之间共享核心数据模型.核心数据模型的类使用带有类名的命名空间,所以当我尝试获取扩展中的对象,我得到无法加载名为""的类错误.

CoreData:警告:无法为实体'Alarm'加载名为'Dali.Alarm'的类.找不到类,而是使用默认的NSManagedObject.

反正有没有在类名中使用命名空间,还是有办法让扩展继承主项目的命名空间?

核心数据实体

Ste*_*ter 10

我之前被困在了这个问题上.看起来像是一个真正的问题,将它作为Apple的功能请求/错误提交也没有什么坏处.

与此同时,您可以通过两个步骤绕过它.首先,使用标记NSManagedObject子类@objc(ClassName).只需将其插入类声明上方:

@objc(ClassName)
class ClassName: NSManagedObjectSubclass {
    @NSManaged var name : String
}
Run Code Online (Sandbox Code Playgroud)

其次,返回托管对象模型,并从您正在使用的实体的检查器中的"类"名称字段中删除命名空间.

在阅读本文之后,今天这对我有用:我不能在Swift项目中的两个目标中使用我的核心数据模型