在已有的控制器中引入后新建的xib,xib是新建.h .m文件时一起建的,然后在其他控制器中引用,引用代码:
UIView *view = [[NSBundle mainBundle] loadNibNamed:@"pipiController" owner:nil options:nil][0];
但是报错:
setValue:forUndefinedKey this class is not key value coding-compliant for the key
经排查,原因是因为新建完.h .m .xib时,xib中,在File's owner上右键,有个默认的view链接的outlet,是不对的,去掉就可以了然后添加IBAction,在控制器中的代码为:
pipiController *pipi = [[pipiController alloc] init];
UIView *view = [[NSBundle mainBundle] loadNibNamed:@"pipiController" owner:pipi options:nil][0];
将owner:中放入pipi,但是报错:
“unrecognized selector sent to instance”
经排查,是由于pipiController应该被声明为成员变量,现在是局部变量,viewDidLoad方法执行之后,pipiController就会被释放,所以当点击btn时自然就找不到这个变量,就会报错。