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

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

这是什么意思?

我该怎么解决呢?

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


当前回答

选择器对象是否未连接?

哈哈,54个答案,没有一个是我的解决方案。谈论一个常见的错误。

在我的情况下,这是因为我在我的VC上有一个选择器对象,并没有为它设置一个出口和动作。

当我只是想看看布局如何时,我经常不连接按钮等。但对于采摘者来说,你似乎做不到这一点。

其他回答

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

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

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

还可以尝试清理代码。

有时swift文件没有从目标中添加或删除,请转到目标——>构建设置——>编译源——>查看是否缺少任何所需的swift类文件。 在我的情况下,应用程序崩溃,由于swift源文件不存在编译。

我尝试了这篇文章中的每一个选项。唯一为我解决这个问题的是改变我的自定义视图xib文件的名称。

我的自定义视图和xib有相同的名称。重命名xib修复了它。

我从头文件中删除了该属性。我找不到它的任何引用,但调试错误仍然引用它。我发现nib文件仍然有对它的引用。我删除了引用它的块,一切都修复了。

在Project Navigator中,

找到Nib (xib)文件。右键单击并查看源。我删除了下面的完整部分

<object class="IBConnectionRecord">
    <object class="IBCocoaTouchOutletConnection" key="connection">
        <string key="label">DeleteLabel</string>
        <reference key="source" ref="372490531"/>
        <reference key="destination" ref="774585933"/>
    </object>
    <int key="connectionID">20</int>
</object>