通过Xib自定义UIViewController实例化时报错的解决
程序员文章站
2022-05-23 18:05:38
...
自定义一个UIViewController,名为FooViewController
因为希望各个VC独立分开,所以没有将自定义控制器的UI放到storyboard里,而是单独做了一个xib文件。
注意Xcode自定义继承自UIViewController的类且创建xib文件时,其xib中File’s Owner应该就是你自定义的类名,即FooViewController.
下面我们编写使用它的代码:
let fooVC = UIViewController(nibName: "FooViewController", bundle: nil) as! FooViewController
运行一下,崩在上面一句:提示无法将UIViewController对象转换为FooViewController!?
我们索性将后面的强转去掉试一下:
let fooVC = UIViewController(nibName: "FooViewController", bundle: nil)
再次运行,上面一句可以通过,不过App还是崩掉了,提示UIViewController不符合神马键值观察。估计是我在xib中绑定了IBOutlet,但是运行时由于类不对头没有找到。
不管怎样,正确的写法如下:
let fooVC = FooViewController(nibName: "FooViewController", bundle: nil)
现在一切正常了,里面的布局和IBOutlet也都OK了。
上一篇: jQuery动态显示和隐藏datagrid中的某一列的方法
下一篇: hexo常用命令介绍