如何在Nib文件中获得所有视图?我试图获得Nib
内的所有视图:
let objects = Bundle.main.loadNibNamed("ViewName", owner: self, options: nil)?[0] as! NSArray
let mainView : UIView = objects[0] as! UIView
虽然我得到这个错误:
无法将类型'UIView'的值转换为'NSArray' (0x108080b40)(0 x105173c58)。
提前感谢您的帮助。
loadNibNamed
返回类型为[Any]?
的数组,您使用[0]
对其下标,意味着您正在访问数组的第一个对象。所以只要删除[0]
。
let objects = Bundle.main.loadNibNamed("ViewName", owner: self, options: nil)
第二个选项可以直接初始化UIView
对象。
if let mainView : UIView = Bundle.main.loadNibNamed("ViewName", owner: self, options: nil)?[0] as? UIView {...}