来自不同阶层的笔尖

时间:2013-08-25 07:03:50

标签: ios xcode cocoa class nib

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

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

每次打电话

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

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

任何帮助都将非常感谢!提前谢谢!

2 个答案:

答案 0 :(得分:0)

NSBundle至少快3倍:

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

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


NB :如果您想为ViewController2使用nib类的现有实例,则需要将该实例设置为{{1} }}。

答案 1 :(得分:0)

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