Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.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
Ios 将模型移动到框架时出现NSKeyedUnachiver问题_Ios_Core Data_Nskeyedarchiver_Nskeyedunarchiver_Swift Framework - Fatal编程技术网

Ios 将模型移动到框架时出现NSKeyedUnachiver问题

Ios 将模型移动到框架时出现NSKeyedUnachiver问题,ios,core-data,nskeyedarchiver,nskeyedunarchiver,swift-framework,Ios,Core Data,Nskeyedarchiver,Nskeyedunarchiver,Swift Framework,我已经将部分代码移动到一个单独的框架中,该框架包含应用程序用于将数据持久化到CoreData的模型。现在,当我尝试启动应用程序时,它尝试从CoreData恢复状态,我得到以下错误 2020-06-17 21:01:42.549851-0400 Project[17576:2986881] [error] fault: exception raised during multi-threaded fetch *** -[NSKeyedUnarchiver decodeObjectForKey:]:

我已经将部分代码移动到一个单独的框架中,该框架包含应用程序用于将数据持久化到CoreData的模型。现在,当我尝试启动应用程序时,它尝试从CoreData恢复状态,我得到以下错误

2020-06-17 21:01:42.549851-0400 Project[17576:2986881] [error] fault: exception raised during multi-threaded fetch *** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (Project.Track) for key (NS.objects) because no class named "Project.Track" was found; the class needs to be defined in source code or linked in from a library (ensure the class is part of the correct target). If the class was renamed, use setClassName:forClass: to add a class translation mapping to NSKeyedUnarchiver ({
    "__NSCoderInternalErrorCode" = 4864;
})

在将代码拆分为单独的框架之前,它按预期工作。我尝试将框架导入到每个使用CD的类中,甚至尝试使用
framework.Track将其映射到类的新名称空间,但仍然出现此错误。是否有人遇到过这种情况,如果有,您能否分享一些解决错误的见解?非常感谢您的帮助。

我找到了答案,它是由异常指定的。我只需使用应用程序的命名空间将类名设置为新导入的类,如下所示:

NSKeyedUnarchiver.setClass(Track.self,forClassName:“Project.Track”)

希望这能帮助别人