我如何解决'NSUnknownKeyException'... setValue:forUndefinedKey:]:...不符合键值编码

ipa*_*tch 33 debugging xcode compiler-errors ios

好吧,我会尝试尽可能简短.我想我上面的键盘UIToolbar,我花了一段时间来弄明白,我最终做到了,但是当我尝试添加功能的按钮之前的*未来*和我的程序很快就会无法编译.

这里可以看到整个错误消息:

2012-06-20 05:36:55.276 KegCop [79460:fb03] *由于未捕获的异常'NSUnknownKeyException'终止应用程序,原因:'[setValue:forUndefinedKey:]:此类不是键值编码兼容的键完成".

*第一掷调用堆栈:(0x134a022 0x1733cd6 0x1349ee1 0xd31022 0xca2f6b 0xca2edb 0xcbdd50 0x5a571a 0x134bdea 0x12b57f1 0x5a426e 0x7adeef 0x7ae03e 0x382d7a 0x382ff8 0x38217f 0x391183 0x391c38 0x385634 0x1f84ef5 0x131e195 0x1282ff2 0x12818da 0x1280d84 0x1280c9b 0x381c65 0x383626 0x2a8d 0x29f5为0x1)终止叫做抛出异常(LLDB)

@Abizern建议我应该阅读Apple Doc on Key值编码指南.无论如何,它是超级晚,或超级早,但你看它.更新的项目可以在这里找到:https://github.com/ipatch/KegCop

只需下载zip,尝试构建,你就会看到我在说什么.该错误可能位于ViewControllerWelcome.m文件中的某处.

Phi*_*lls 63

查看对象的故事板或xib(无论您使用哪个)ViewControllerWelcome.此错误的最可能的来源是某些内容与done该类的代码中不存在的操作或出口连接.

  • 是的.这就是答案,很可能你可能在你的Viecontroller中连接了一些从.h和.m中删除的内容 (5认同)

kas*_*der 34

最简单的检查方法是在故事板视图中按Ctrl +单击您的控制器,并在弹出的窗口中查找一些旁边有黄色警告标记的内容.只需按下插座名称旁边的(x)即可将其删除.