你不能在awaikeFromNib中调用loadNibNamed吗?
注意当前视图,awakeFromNib方法在同一个Nib中,但视图不同。
override func awakeFromNib() {
let otherView = Bundle.main.loadNibNamed("MyViews", owner: self, options: nil)![2] as! OtherView
...
答案 0 :(得分:2)
您没有告诉loadNibNamed
从笔尖加载特定视图。它加载所有视图。您正在通过下标views数组来访问特定视图,但已加载所有视图以允许您执行此操作。
这意味着您再次触发awakeFromNib
,它会加载nib,触发awakeFromNib
等等。
所以简短的回答是,正如您所发现的那样,在awakeFromNib
中加载源笔尖将导致无限循环。