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

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

这是什么意思?

我该怎么解决呢?

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


当前回答

这种情况只发生在我在设备(iPhone)上调试时。iOS模拟器运行正常。用Xcode做一个“Product->Clean”似乎解决了这个问题,但我不知道为什么。

其他回答

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

删除下图中的连接。

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

我犯了同样的错误,只是形式略有不同:

在接口构建器中,我有一个自定义子控制器的导航控制器。这个类的名称设置正确,但是NIB名称(选择子控制器,转到属性检查器)被设置为错误的文件(基本上是一个不同的目标)。将其重置为正确的文件名解决了这个问题。

我也遇到过同样的问题。我在XIB文件中创建了一个tableviewCell,并得到了这种错误。我的问题是我定义了“File’s Owner”类作为我的单元格视图控制器。我只是把它拿出来并设置单元格的类(在xib文件中单击单元格的边界,转到右侧面板上的第三个选项卡,它说class chose your view controller)。

还可以尝试清理代码。

我也有同样的症状。根本原因是源文件的“目标成员资格”没有设置为正确的目标。我假设这意味着我的类不会被构建并包含在我的应用程序中。

纠正它:

突出显示你的.m文件。 在右窗格中,选择文件检查器。 在“Target Membership”部分下,确保选中了适当的构建目标。

希望这能帮助到一些人。

我也遇到过同样的问题,虽然TechZen的答案可能确实令人惊讶,但我发现它很难适用于我的情况。

最终,我解决了这个问题,通过对象下列出的控制器(下图中突出显示)链接标签,而不是通过文件所有者。

希望这能有所帮助。