美文网首页
initWithNibName和loadNibNamed

initWithNibName和loadNibNamed

作者: gpylove | 来源:发表于2018-10-31 21:49 被阅读18次

A)  initWithNibName这个方法是UIViewController通过xib文件创建实例的方法;而loadNibNamed是UIView和UIViewController都可以通过xib文件创建实例的方法。

B)  加载的方式不同。initWithNibName有点像懒加载,是延迟加载,用到的时候才会加载;loadNibNamed是即时加载。

C)  loadNibNamed加载的流程是:

init(coder:)

awakeFromNib()

viewDidLoad()

而initWithNibName加载的流程是:

init(nibName:bundle:)

loadView()

viewDidLoad()

D)  加载的类不同。initWithNibName加载的类就是我们定义的视图控制器,及xib文件中的File’s owner是控制器;

而loadNibNamed加载的实际是NSObject类型,及xib文件中的File’s owner是NSObject。

如果用了loadNibNamed加载initWithNibNamed用到的格式的xib文件  会报错误

setValue:forUndefinedKey load the xxxnib but the view outlet was not set.

相关文章

网友评论

      本文标题:initWithNibName和loadNibNamed

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