美文网首页
initWithNibName: 和 loadNibNamed

initWithNibName: 和 loadNibNamed

作者: wsmmint | 来源:发表于2018-04-17 16:22 被阅读0次

    有半年没做过iOS 了,今天写代码跳转到用xib创建页面的时候,一直出错“this class is not key value coding-compliant for the key type.” 

    TextViewController *vc = [[[NSBundle mainBundle] loadNibNamed:@"TextViewController" owner:self options:nil] lastObject] ;

    网上查到的答案不适用我这个问题。后来才发现是加载方法写错了。

    用这个加载方法就没问题了:

    TextViewController *vc = [[TextViewController alloc] initWithNibName:@"TextViewController" bundle:[NSBundle mainBundle]];

    原来是因为loadNibNamed和initWithNibName需要加载的xib文件是不一样的。initWithNibName需要加载的xib文件的File Owner应该是需要加载的类:TextViewController,

    而loadNibNamed需要加载的xib文件的File Owner为NSObject。

    相关文章

      网友评论

          本文标题:initWithNibName: 和 loadNibNamed

          本文链接:https://www.haomeiwen.com/subject/yyhpkftx.html