Xcode-如何解决“ NSUnknownKeyException”,原因:…此类不符合“ X密钥”错误的键值编码标准?

蓝咒 提交于 2019-12-11 19:02:26

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

我正在尝试将UILabel与在我的课程中创建的IBOutlet链接。

我的应用程序崩溃并出现以下错误。

这是什么意思?

我该如何解决?

***由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:此类不符合键XXX的键值编码。


#1楼

如果它是仅iPhone应用程序,而不是通用应用程序,请确保以下字段为空:

目标>摘要> iPhone / iPod部署信息>主界面

如果您指定了xib,则会崩溃。


#2楼

可能是从Xib Interface引用已重命名或删除的组件的情况。 重新引用对我有用。


#3楼

我在重复的项目中遇到了这个问题,并通过检查2个地方来解决:

1-确保列表中有.m文件->项目-构建阶段-编译源
2-之后,转到界面生成器(可能是仅IB会发生错误),然后取消链接所有属性,标签,图像等。然后重新链接所有。 我意识到我已经删除了一个属性,但该属性仍在IB中链接。

希望它对某些人有用。


#4楼

此错误表明已连接的Interface Builder 对象已被删除/在其所有者的源(文件的所有者)中重命名

在界面生成器中按住Control键并单击“ 文件的所有者” ,如果您看到感叹号 ,则需要对其进行修复。

在下面的图片中,您可以看到“ aRemovedView”在其右侧带有感叹号,这是因为在IBOutlet视图对象已经在IB中连接时,我将其删除了。

这将产生以下错误: 由于未捕获的异常“ NSUnknownKeyException”而终止应用程序,原因:“ [[setValue:forUndefinedKey:]:此类与密钥 aRemovedView的密钥值不兼容”


#5楼

当我的视图控制器最初有一个.xib文件,但现在是通过编程创建时,这会发生在我身上。

即使我已从该项目中删除了.xib文件。 用户iPhone / iPad可能包含此ViewController的.xib文件。

尝试加载.xib文件通常会导致此崩溃:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x18afe0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key welcomeLabel.'

以编程方式创建它时,解决方案可能是:

-(void)loadView {
    // Ensure that we don't load an .xib file for this viewcontroller
    self.view = [UIView new];
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!