我试图将UILabel与在类中创建的IBOutlet链接起来。
我的应用程序崩溃与以下错误。
这是什么意思?
我该怎么解决呢?
***终止应用由于未捕获异常'NSUnknownKeyException',原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:这个类不是键值编码兼容的键XXX。'
我试图将UILabel与在类中创建的IBOutlet链接起来。
我的应用程序崩溃与以下错误。
这是什么意思?
我该怎么解决呢?
***终止应用由于未捕获异常'NSUnknownKeyException',原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:这个类不是键值编码兼容的键XXX。'
当前回答
我也有同样的问题。我重置了模拟器。删除和添加按钮控件。终于搞干净了。:)由于堆栈溢出。不知怎么的,我的代码变得很好,开始工作。
其他回答
我发现了另一种可能导致问题的可能性。
当使用initWithNibName方法使用错误的xib名称时,也会导致这种崩溃。
例如,您选择更改一个xib文件的名称,然后忘记将“initWithNibName”方法中使用的名称更改为相同的名称。
"这个类不符合键值编码" 我知道有点晚了,但我的答案是不同的,所以我认为它需要张贴,我推错了第二个控制器的方式,这里是样本
错误的推控制器方式
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];
我没有找到如上的答案,所以它可能可以帮助一些有同样问题的人
在升级到xcode7后,我遇到了swift类的这个问题。使用@objc指令解决了这个问题:
@objc(XXXView控制器)类XXXView控制器
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
我有这个发生时,我有一个UIView链接到一个故事板和连接IBOutlet像:
@property (strong, nonatomic) IBOutlet UIView *someView
但是后来,我把UIView做成了一个自定义类,但是忘记改变上面定义的IBOutlet的类名。这是一个奇怪的错误,因为如果自定义视图没有子视图,它不会抱怨,但只要有子视图,它就会显示问题中陈述的错误,但在其中一个子视图上,而不是在问题实际存在的外部UIView上。让我删除和读取所有的子视图试图找到问题,而实际上与子视图无关