0

我在这个站点和其他站点上尝试了其他几个示例,但是对于我的生活,我无法让它发挥作用。

我有一个 NIB 文件,它是“ViewController2”类的一部分。我需要在我的“ViewController1”类中使用这个 NIB 文件中的一些视图。

每次我打电话

[[NSBundle mainBundle]loadNibNamed:@"ViewController2" owner:self options:nil];

它会导致崩溃,说我UIButton的一个不KVC符合要求,但我已正确链接所有按钮和插座,但无济于事。

任何帮助将不胜感激!先感谢您!

4

2 回答 2

0

这比以下速度至少快 3 倍NSBundle

ViewController2 *_viewController2 = [[[UINib nibWithNibName:@"ViewController2" bundle:nil] instantiateWithOwner:nil options:nil] objectAtIndex:0];

它将加载nib文件并创建ViewController2该类的新实例。


注意:如果您想使用ViewController2该类的现有实例nib,您需要将该实例设置为owner.

于 2013-08-26T20:32:21.510 回答
0

当您加载 nib 并将owner:属性设置为 时self,iOS 会尝试使用 KVC 连接插座。如果您没有一个 UIButton 的 keyPath 与您当前所在的类中的 xib 文件中的那个匹配,那么您将遇到崩溃。您需要设置owner:nil.

于 2013-08-26T20:42:27.700 回答