我试图将UILabel与在类中创建的IBOutlet链接起来。
我的应用程序崩溃与以下错误。
这是什么意思?
我该怎么解决呢?
***终止应用由于未捕获异常'NSUnknownKeyException',原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:这个类不是键值编码兼容的键XXX。'
我试图将UILabel与在类中创建的IBOutlet链接起来。
我的应用程序崩溃与以下错误。
这是什么意思?
我该怎么解决呢?
***终止应用由于未捕获异常'NSUnknownKeyException',原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:这个类不是键值编码兼容的键XXX。'
当前回答
我有这个发生时,我有一个UIView链接到一个故事板和连接IBOutlet像:
@property (strong, nonatomic) IBOutlet UIView *someView
但是后来,我把UIView做成了一个自定义类,但是忘记改变上面定义的IBOutlet的类名。这是一个奇怪的错误,因为如果自定义视图没有子视图,它不会抱怨,但只要有子视图,它就会显示问题中陈述的错误,但在其中一个子视图上,而不是在问题实际存在的外部UIView上。让我删除和读取所有的子视图试图找到问题,而实际上与子视图无关
其他回答
当我试图实现一个表的自定义ViewCell时,我有这个错误。当我突出显示XIB的视图控制器并连接到CellView中的元素时,会导致错误“这个类不是键值编码兼容的键”,一旦我删除了这些,它就摆脱了错误。
删除下图中的连接。
只要确保你只有与表格视图单元格的连接。要检查,单击表视图单元格,并在检查器中寻找您的连接。
对于我来说,我必须单击文件的Owner对象并导航到连接并删除有问题的连接
"这个类不符合键值编码" 我知道有点晚了,但我的答案是不同的,所以我认为它需要张贴,我推错了第二个控制器的方式,这里是样本
错误的推控制器方式
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];
我没有找到如上的答案,所以它可能可以帮助一些有同样问题的人
有时swift文件没有从目标中添加或删除,请转到目标——>构建设置——>编译源——>查看是否缺少任何所需的swift类文件。 在我的情况下,应用程序崩溃,由于swift源文件不存在编译。
我也有同样的问题。我重置了模拟器。删除和添加按钮控件。终于搞干净了。:)由于堆栈溢出。不知怎么的,我的代码变得很好,开始工作。