从awakeFromNib调用Bundle.main.loadNibNamed时无限循环

时间:2017-10-06 16:26:59

标签: ios

你不能在awaikeFromNib中调用loadNibNamed吗?

注意当前视图,awakeFromNib方法在同一个Nib中,但视图不同。

override func awakeFromNib() {

    let otherView = Bundle.main.loadNibNamed("MyViews", owner: self, options: nil)![2] as! OtherView

...

1 个答案:

答案 0 :(得分:2)

您没有告诉loadNibNamed从笔尖加载特定视图。它加载所有视图。您正在通过下标views数组来访问特定视图,但已加载所有视图以允许您执行此操作。

这意味着您再次触发awakeFromNib,它会加载nib,触发awakeFromNib等等。

所以简短的回答是,正如您所发现的那样,在awakeFromNib中加载源笔尖将导致无限循环。