我试图将UILabel与在类中创建的IBOutlet链接起来。

我的应用程序崩溃与以下错误。

这是什么意思?

我该怎么解决呢?

***终止应用由于未捕获异常'NSUnknownKeyException',原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:这个类不是键值编码兼容的键XXX。'


当前回答

对于我来说,我必须单击文件的Owner对象并导航到连接并删除有问题的连接

其他回答

线程1:“[setValue:forUndefinedKey:]:这个类不符合键xxx的键值编码。”

你可以在以下情况下得到这个错误:

xib + UITableViewHeaderFooterView

当你使用UITableView显示头/脚它扩展了UITableViewHeaderFooterView并连接到。swift文件和

设置文件的属主

正确的方法:

为containerView设置自定义类

"这个类不符合键值编码" 我知道有点晚了,但我的答案是不同的,所以我认为它需要张贴,我推错了第二个控制器的方式,这里是样本

错误的推控制器方式

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];

我没有找到如上的答案,所以它可能可以帮助一些有同样问题的人

确保你在.m文件中添加了自定义类的实现(甚至是空的),如下所示:

@implementation MySubclass
@end

正如@FranticRock提到的,这个帖子真的是一个史诗般的传奇故事。

对我来说

出水口连接正确 “Inherit From Target”有一个正确的值,这意味着模块被正确添加

在我的案例中导致崩溃的原因是标识检查器下的用户定义运行时属性

我有一个视图,以某种方式有三个属性borderColor, borderWidth和cornerRadius

从视图中删除这些属性就解决了这个问题。

我在用沙玛林。IOS来创建自定义nib。最后我找到了根本原因,去Xcode,选择nib文件,在接口构建器中,选择UIView类,选择连接检查器,并删除默认的出口,如下所示。