我使用重构函数重命名了一个类,但现在应用程序崩溃并出现错误
*** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: '*** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class
当我保留旧名称时,一切正常。所以我假设XCode并没有改变所有的旧名称,所以现在我的项目中的某个代码片段没有改变,导致终止,但我找不到它!我特别关注NSKeyedUnarchiever函数,根据xcode出现错误,但我无法找到它。
那么你们有没有想法可能是什么问题?或者只是为了让我看得更多?
提前致谢!
答案 0 :(得分:2)
如果您更改了档案中某个班级的名称,则需要教授unarchiver如何处理(这不是魔术)。使用setClass:forClassName:
为旧类名设置新类。