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

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

这是什么意思?

我该怎么解决呢?

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


当前回答

正如@FranticRock提到的,这个帖子真的是一个史诗般的传奇故事。

对我来说

出水口连接正确 “Inherit From Target”有一个正确的值,这意味着模块被正确添加

在我的案例中导致崩溃的原因是标识检查器下的用户定义运行时属性

我有一个视图,以某种方式有三个属性borderColor, borderWidth和cornerRadius

从视图中删除这些属性就解决了这个问题。

其他回答

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

视图的固定类引用:

重新进口所有Outlets:

我在故事板中得到这个错误。上面的解决方案似乎不是问题,所以我最终删除了视图控制器,并再次将它添加回来(当然,重新连接segue并重新分配类),这就修复了它。我不知道它到底是什么,但我在这个开始前不久重命名了关联的视图控制器类,所以可能有一些东西。

我不得不从模拟器/iPhone中删除应用程序来消除这个错误。

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

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

希望这能有所帮助。

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

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