我试图将UILabel与在类中创建的IBOutlet链接起来。
我的应用程序崩溃与以下错误。
这是什么意思?
我该怎么解决呢?
***终止应用由于未捕获异常'NSUnknownKeyException',原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:这个类不是键值编码兼容的键XXX。'
我试图将UILabel与在类中创建的IBOutlet链接起来。
我的应用程序崩溃与以下错误。
这是什么意思?
我该怎么解决呢?
***终止应用由于未捕获异常'NSUnknownKeyException',原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:这个类不是键值编码兼容的键XXX。'
当前回答
在处理tableview单元格时,我遇到了相同的错误日志。我发现我的UILabels对文件的所有者和单元格的类都有重复的引用出口(您可以在引用检查器中检查出来)。当我删除对文件所有者的引用时,事情就好了。
其他回答
您可能需要删除出口,通过从IB绘制到. h文件来重新创建它。
我也遇到过同样的问题。我在XIB文件中创建了一个tableviewCell,并得到了这种错误。我的问题是我定义了“File’s Owner”类作为我的单元格视图控制器。我只是把它拿出来并设置单元格的类(在xib文件中单击单元格的边界,转到右侧面板上的第三个选项卡,它说class chose your view controller)。
还可以尝试清理代码。
当我的视图控制器最初有一个.xib文件时,这种情况发生在我身上,但现在是以编程方式创建的。
尽管我已经从这个项目中删除了.xib文件。用户的iPhone/iPad可能包含这个视图控制器的.xib文件。
尝试加载.xib文件通常会导致以下崩溃:
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x18afe0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key welcomeLabel.'
以编程方式创建时的解决方案可能是这样的:
-(void)loadView {
// Ensure that we don't load an .xib file for this viewcontroller
self.view = [UIView new];
}
在处理tableview单元格时,我遇到了相同的错误日志。我发现我的UILabels对文件的所有者和单元格的类都有重复的引用出口(您可以在引用检查器中检查出来)。当我删除对文件所有者的引用时,事情就好了。
我因为不同的原因遇到了同样的问题:我使用主故事板作为启动屏幕文件。我猜如果你使用一个故事板作为启动屏幕文件,它不应该连接到视图控制器,因为它还没有被加载。