我试图将UILabel与在类中创建的IBOutlet链接起来。
我的应用程序崩溃与以下错误。
这是什么意思?
我该怎么解决呢?
***终止应用由于未捕获异常'NSUnknownKeyException',原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:这个类不是键值编码兼容的键XXX。'
我试图将UILabel与在类中创建的IBOutlet链接起来。
我的应用程序崩溃与以下错误。
这是什么意思?
我该怎么解决呢?
***终止应用由于未捕获异常'NSUnknownKeyException',原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:这个类不是键值编码兼容的键XXX。'
当前回答
我的问题开始后,我改变目标名称。
我自己的自定义UI类将Module名称设置为旧的目标名称。
我把目标名称改为新的,现在可以正常工作了。
其他回答
对我来说。合并后,xib文件中没有丢失的输出。
Shift + Command + K
解决了我的问题。我清理了我的项目并重建。
看看其他的答案,似乎有很多事情可以导致这个错误。这里还有一个。
如果你
拥有自定义视图 添加了@IBInspectable属性 然后又删除了
那么您也可能会得到类似的错误
在[您的自定义]上设置(xxx)用户定义的被检查属性失败 视图)……:这个类不是键值编码兼容的 [xxx]。
解决方案是删除旧属性。
打开类的Identity检查器,在User Defined Runtime Attributes下选择属性名,然后按减号按钮(-)。
我也遇到过同样的问题,虽然TechZen的答案可能确实令人惊讶,但我发现它很难适用于我的情况。
最终,我解决了这个问题,通过对象下列出的控制器(下图中突出显示)链接标签,而不是通过文件所有者。
希望这能有所帮助。
此错误指示已经连接的接口构建器对象在其所有者的源(文件的所有者)中被删除/重命名。
如果你看到一个感叹号,请在界面构建器中控制单击文件的所有者,你需要修复它。
在下图中,你可以看到“aRemovedView”在其右侧有一个感叹号,这是因为我删除了IBOutlet视图对象,而它已经在IB中连接。
这将给出以下错误: 终止应用程序由于未捕获异常'NSUnknownKeyException',原因:'[setValue:forUndefinedKey:]:这个类不是键值编码兼容键aRemovedView。'
您只需要指定IBOutlet一次,IBOutlet标签您的ivar是不必要的。 你在用你的UIViewController实例化你的NIB吗?在某些时候,你应该调用[SecondView initWithNibName:@"yourNibName" bundle:nil];