无法定位错误:MyViewController类不是键活动的键值编码兼容

时间:2013-07-17 13:43:52

标签: ios internationalization storyboard

众所周知的错误,但奇怪的是:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<PHComposerViewController 0xb65c1e0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key activity.'

据我所知,这意味着某个插座正在引用控制器的属性,但缺少此属性。我删除了这个属性很少提交以及故事板中的插座。但它存在于我不知道的地方。当然,我试图“清理”,重新克隆回购,重新启动等......

我尝试通过“活动”进行全局文本搜索(在storyboard xmls和项目目录中的所有位置),但没有结果。

这个问题在某种程度上与国际化支持有关,我补充说。我有3套:基地,俄语,英语。当我将英文从“strings”转换为“interface”时,这个问题就消失了......

此外,当我启动旧安装(来自AppStore的当前版本)时出现错误。当前可用的版本没有i18支持。但我认为这一点与我的内部语言更相关。

我有一个“字符串”的循环 - &gt; “接口”,但原因字符串是首选方式。

2 个答案:

答案 0 :(得分:1)

通常当我看到与UIViewController相关的此异常时,它与您暗示的错误配置的XIB文件有关。浏览所有出口并确保它们已正确连接,而不是分配给不存在的东西。

我建议右键单击“文件所有者”,看看没有感叹号。

enter image description here

如果我们正在讨论故事板文件,请右键单击左侧列表中的控制器实例,而不是文件所有者:

enter image description here

答案 1 :(得分:0)

如果有其他人遇到此问题,请执行以下操作:

  1. 检查出口确保它们全部已分配,并且它们已正确连接到viewcontroller / classes中的相关项目(请参阅@Stavash关于如何执行此操作的答案)
  2. 做一个干净的构建(cmnd + shift + k)
  3. 从模拟器中删除应用程序(或重置模拟器)。我做了#1和#2以上仍然有问题。最后,我从模拟器中删除了应用程序并重新运行 - 它工作正常!
  4. 如果问题仍然存在并且您已完成上述所有3项操作 - 请尝试从捆绑资源中删除故事板文件(在Project-&gt; Build Phases下),运行应用程序并让它出错。重新添加故事板文件并再次运行。