-2

如何获取 Nib 文件中的所有视图?我正在尝试通过以下方式获取所有视图Nib

   let objects = Bundle.main.loadNibNamed("ViewName", owner: self, options: nil)?[0]  as! NSArray
   let mainView : UIView = objects[0] as! UIView

虽然我收到了这个错误:

无法将“UIView”(0x108080b40)类型的值转换为“NSArray”(0x105173c58)。

在此先感谢您的帮助。

4

1 回答 1

2

loadNibNamed返回类型的数组,[Any]?并且您是使用它的下标,这[0]意味着您正在访问 Array 的第一个对象。所以只需删除[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 {...}

选择哪种解决方案可以解决您的错误。

于 2016-10-07T07:22:52.657 回答