我试图将UILabel与在类中创建的IBOutlet链接起来。

我的应用程序崩溃与以下错误。

这是什么意思?

我该怎么解决呢?

***终止应用由于未捕获异常'NSUnknownKeyException',原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:这个类不是键值编码兼容的键XXX。'


当前回答

当我试图实现一个表的自定义ViewCell时,我有这个错误。当我突出显示XIB的视图控制器并连接到CellView中的元素时,会导致错误“这个类不是键值编码兼容的键”,一旦我删除了这些,它就摆脱了错误。

删除下图中的连接。

只要确保你只有与表格视图单元格的连接。要检查,单击表视图单元格,并在检查器中寻找您的连接。

其他回答

我通过两件事解决了这个问题:

视图的固定类引用:

重新进口所有Outlets:

我也有同样的问题。这发生在我的项目中,因为我改变了我的产品名称,但在接口构建器中,我有旧的名称为模块,这导致崩溃,所以一定要检查所有xib模块名称也已更改或没有。

为了给这个史诗般的传奇故事锦上添花……

我的视图控制器上面有一个属性 @objc (TheNameOfMyViewController)

这使得所有Outlet崩溃,每个Outlet都有“不符合键值”的错误。这只是IOS12及以下版本的问题。它在iOS 13上运行良好。

删除修饰语解决了这个问题。现在所有的网点都运转正常。

我在用沙玛林。IOS来创建自定义nib。最后我找到了根本原因,去Xcode,选择nib文件,在接口构建器中,选择UIView类,选择连接检查器,并删除默认的出口,如下所示。

当我使用主故事板作为启动屏幕文件时,我也遇到了同样的问题。我猜如果你使用一个故事板作为启动屏幕文件,它不应该连接到视图控制器,因为它还没有被加载。