我试图将UILabel与在类中创建的IBOutlet链接起来。
我的应用程序崩溃与以下错误。
这是什么意思?
我该怎么解决呢?
***终止应用由于未捕获异常'NSUnknownKeyException',原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:这个类不是键值编码兼容的键XXX。'
我试图将UILabel与在类中创建的IBOutlet链接起来。
我的应用程序崩溃与以下错误。
这是什么意思?
我该怎么解决呢?
***终止应用由于未捕获异常'NSUnknownKeyException',原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:这个类不是键值编码兼容的键XXX。'
当前回答
NSUnknownKeyException error
'NSUnknownKeyException', reason: this class is not key value coding-compliant for the key
我得到这个错误时。xib文件(例如。TableViewCell.xib)具有与单元格类相同的名称(例如。TableViewCell.swift)
正确的做法是:
TableViewCell.swift -> View.swift <-> View.xib
其他回答
选择器对象是否未连接?
哈哈,54个答案,没有一个是我的解决方案。谈论一个常见的错误。
在我的情况下,这是因为我在我的VC上有一个选择器对象,并没有为它设置一个出口和动作。
当我只是想看看布局如何时,我经常不连接按钮等。但对于采摘者来说,你似乎做不到这一点。
在我的例子中,它是一个IBOutlet在ViewController中的属性名。m被改变了,但是Storyboard中的那个没有改变。在ViewController中重新引入IBOutlet。M每ctrl拖动解决了这个问题。我还注意到在XCode中找到这种“孤立”iboutlet的方法:(请看图片)那些不是“孤立”的iboutlet有同心圆而不是行号。
当我使用主故事板作为启动屏幕文件时,我也遇到了同样的问题。我猜如果你使用一个故事板作为启动屏幕文件,它不应该连接到视图控制器,因为它还没有被加载。
"这个类不符合键值编码" 我知道有点晚了,但我的答案是不同的,所以我认为它需要张贴,我推错了第二个控制器的方式,这里是样本
错误的推控制器方式
UIViewController* controller = [[UIViewController
alloc]initWithNibName:@"TempViewController" bundle:nil];
[self.navigationController pushViewController:controller animated:true];
正确的方法
TempViewController* controller = [[TempViewController
alloc]initWithNibName:@"TempViewController" bundle:nil];
[self.navigationController pushViewController:controller animated:true];
我没有找到如上的答案,所以它可能可以帮助一些有同样问题的人
线程1:“[setValue:forUndefinedKey:]:这个类不符合键xxx的键值编码。”
你可以在以下情况下得到这个错误:
xib + UITableViewHeaderFooterView
当你使用UITableView显示头/脚它扩展了UITableViewHeaderFooterView并连接到。swift文件和
设置文件的属主
正确的方法:
为containerView设置自定义类