如何解决“NSUnknownKeyException” ...的setValue:forUndefi

2019-06-25 15:15发布

这个问题已经在这里有一个答案:

  • 这是什么意思? “‘NSUnknownKeyException’,理由是:......这个类不是键值为重点X兼容的编码,” 66个回答

好吧,我会尽力使这个简短越好。 我想我上面的键盘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建议我应该阅读有关键值编码指南苹果文件 。 反正它的超级晚,或超早但是你看它。 更新的项目可以在这里找到: https://github.com/ipatch/KegCop

只需下载的zip,并尝试和构建,你会明白我在说什么。 该错误可能介于在ViewControllerWelcome.m文件。

Answer 1:

看看你的故事板或XIB(你用哪个)为ViewControllerWelcome对象。 此错误的最可能的来源是什么有一个动作或出口称为连接done并不在该类的代码存在。



Answer 2:

检查最简单的方法是按Ctrl +点击你的故事板视图控制器,并查找其旁边有一个黄色的警告标志出现的弹出式的东西。 只需按下(X)旁边的出口名称中删除。



Answer 3:

如果您使用的是故事板,然后只需点击每个视图控制器和选择它们的连接检查。 检查是否有退出所有感叹符号(失去连接)。

删除这些properly.Then再次运行项目。



Answer 4:

我也遇到了同样的问题,我使用的视图 - 控制一个XIB但后来我删除了它。 然而,在代码中,连接仍然得到来自厦门国际银行删除连接。 因此,要走动的方式是创建的视图 - 控制新的厦门国际银行。 然后,问题就解决了。



Answer 5:

在我的情况下,它是在Xcode中一些奇怪的缓存,即使所有的IBOutlets的去除引用仍然使其崩溃。 IBOutlets都指向一个旧版本的我的文件,以便甚至没有删除,并重新添加文件或删除所有引用网点从我的笔尖工作的?

SOLUTION: 关闭的Xcode做的伎俩,也清洗/ deepCleaning项目可能有帮助。



Answer 6:

对于我的情况,我添加-all_load “其他链接器标记”,以防止从Xcode的剥我的图书馆二进制代码。



文章来源: How do I solve a 'NSUnknownKeyException' … setValue:forUndefinedKey:]: …not key value coding compliant [duplicate]