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

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

这是什么意思?

我该怎么解决呢?

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


当前回答

我的方法和杰拉德·格伦迪类似。在使用XIB创建自定义UITableViewCell时,我错误地将自定义类名称应用到文件的所有者而不是UITableViewCell。将类应用到画布上的UITableViewCell并将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];

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

我的方法和杰拉德·格伦迪类似。在使用XIB创建自定义UITableViewCell时,我错误地将自定义类名称应用到文件的所有者而不是UITableViewCell。将类应用到画布上的UITableViewCell并将IBOutlet属性连接到它上解决了这个问题。

您只需要指定IBOutlet一次,IBOutlet标签您的ivar是不必要的。 你在用你的UIViewController实例化你的NIB吗?在某些时候,你应该调用[SecondView initWithNibName:@"yourNibName" bundle:nil];

我也有同样的问题,原因是在接口生成器中指定了一个模块(而不是让它为空)。所以,当我使用一个不同于我设置的模块时,应用程序会崩溃:S…希望这能帮助别人,因为我的问题不是由于损坏或过时的出口!

我的问题开始后,我改变目标名称。

我自己的自定义UI类将Module名称设置为旧的目标名称。

我把目标名称改为新的,现在可以正常工作了。