类的重构重命名会导致终止

时间:2013-10-20 19:37:43

标签: ios xcode rename

我使用重构函数重命名了一个类,但现在应用程序崩溃并出现错误

*** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason:   '*** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class

当我保留旧名称时,一切正常。所以我假设XCode并没有改变所有的旧名称,所以现在我的项目中的某个代码片段没有改变,导致终止,但我找不到它!我特别关注NSKeyedUnarchiever函数,根据xcode出现错误,但我无法找到它。

那么你们有没有想法可能是什么问题?或者只是为了让我看得更多?

提前致谢!

1 个答案:

答案 0 :(得分:2)

如果您更改了档案中某个班级的名称,则需要教授unarchiver如何处理(这不是魔术)。使用setClass:forClassName:为旧类名设置新类。