从 xib 加载 iOS 不起作用

Posted

技术标签:

【中文标题】从 xib 加载 iOS 不起作用【英文标题】:iOS load from xib not works 【发布时间】:2011-12-19 15:18:19 【问题描述】:

我用 XIB 文件创建了一个自定义视图控制器。

在 XIB 文件中,我将一个表格视图和一个滑块放到视图中,并将它们作为 IBOutlet 连接到文件的所有者。

我检查了文件的所有者类,它是我的自定义类,所以没关系。

我仔细检查了视图和滑块是否与文件所有者连接。

但是当我尝试加载我的自定义视图控制器时,我收到了这个错误:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NoteController 0x6bd1da0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key _slider.'

Slider 是我的 IBOutlet(连接到视图控制器)

我在互联网上发现了很多相同的问题,但所有解决方案都不适用于我:(

加载代码:

NSArray *xibViews=[[NSBundle mainBundle]loadNibNamed:@"PopoverSetFont" owner:self options:nil];

我应该尝试什么?

【问题讨论】:

你能出示出口的声明吗?您的笔尖或视图控制器是否有任何编译器警告? 查看有问题的解决方案。我现在才发现。 您可以发布自己的答案并接受它。 您应该将您的答案作为答案发布(不要将其放在问题中,对您自己的 Q 做出答案/回复 - 正如@Didier 指出的那样,SO 社区鼓励这样做)。这不仅会清楚地将您的答案清楚地标记为答案,而且还会让您接受它作为答案并阻止人们来此 Q,因为没有答案被接受。 好的,我知道,但我无法回答我的问题,就在 X(可能是 8?)小时之后。所以我现在就这样做,但我今天不能接受我自己的问题,只能明天:) 【参考方案1】:

2小时后,当我问这个问题时,发现了一个问题。我不会删除问题,我会分享它,希望对您有所帮助。

所以不要使用 [[NSBundle mainBundle]... 行,而是使用它来加载:

PopoverSetFont *popoverView=[[PopoverSetFont alloc]initWithNibName:@"PopoverSetFont" bundle:nil];

【讨论】:

以上是关于从 xib 加载 iOS 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

添加子视图不起作用?

iOS 9:在故事板/xib 中设置了手势识别器,以添加到多个视图(不起作用)

按钮在 XIB 文件中不起作用

将 CGRect 从视图转换为超级视图不起作用

IOS 框架本地化不起作用

为啥将 iOS 应用程序移植到 tvOS 不起作用?