Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Core data Swift-在应用程序组中共享核心数据模型(带扩展)_Core Data_Swift_Widget - Fatal编程技术网

Core data Swift-在应用程序组中共享核心数据模型(带扩展)

Core data Swift-在应用程序组中共享核心数据模型(带扩展),core-data,swift,widget,Core Data,Swift,Widget,我尝试在我的应用程序中使用相同的核心数据模型以及扩展,但不确定如何在两个应用程序之间共享核心数据模型。核心数据模型的类使用具有类名的命名空间,因此当我尝试获取扩展中的对象时,会出现名为“”的无法加载类错误 CoreData:警告:无法为实体加载名为“Dali.Alarm”的类 “警报”。未找到类,改为使用默认NSManagedObject 有没有办法不在类名中使用名称空间,或者有没有办法让扩展继承主项目的名称空间 早些时候我被这件事缠住了。这似乎是一个真正的问题,将其作为功能请求/bug提交给苹

我尝试在我的应用程序中使用相同的核心数据模型以及扩展,但不确定如何在两个应用程序之间共享核心数据模型。核心数据模型的类使用具有类名的命名空间,因此当我尝试获取扩展中的对象时,会出现名为“”的无法加载类错误

CoreData:警告:无法为实体加载名为“Dali.Alarm”的类 “警报”。未找到类,改为使用默认NSManagedObject

有没有办法不在类名中使用名称空间,或者有没有办法让扩展继承主项目的名称空间


早些时候我被这件事缠住了。这似乎是一个真正的问题,将其作为功能请求/bug提交给苹果也不会有什么坏处

同时,你可以通过两步绕过它。首先,用
@objc(ClassName)
标记NSManagedObject子类。只需将其插入类声明上方:

@objc(ClassName)
class ClassName: NSManagedObjectSubclass {
    @NSManaged var name : String
}
其次,返回到托管对象模型,并从正在处理的实体的检查器中的“类”名称字段中删除名称空间


读了这篇文章后,我今天觉得这很有效:

这对我也很有效。还记得在完成更改后进行清理。只是确认一下:当您说“返回到托管对象模型,并从“类”名称字段中删除名称空间”时,您的意思是,如果在该字段之前包含“myApp.Entity”,那么现在只应该是“Entity”?是的……我还应该补充一点,我最近收到一条消息,苹果认为他们已经在Xcode 7中解决了这个问题,现在已经进入测试阶段。不过我还没有测试过。