var myVIEwController = UIStoryboard(name: "Main",bundle: nil).instantiateVIEwControllerWithIDentifIEr("myVIEwControllerIDentifIEr") as! VIEwController
有没有办法覆盖VIEwController的init方法,以便我可以初始化它
var myVIEwController = VIEwController()
我尝试覆盖init
convenIEnce init() { self = UIStoryboard(name: "Main",bundle: nil).instantiateVIEwControllerWithIDentifIEr("SearchtableVIEwController") as! SearchtableVIEwController}
但编译器不喜欢这样.有任何想法吗?
一个方便的初始化程序必须始终委托给同一个类的指定的初始化程序,指定的初始化程序必须调用一个超类初始化程序.由于超类没有适当的初始化程序,您可能会更好地使用类工厂方法:
static func instantiate() -> SearchtableVIEwController{ return UIStoryboard(name: "Main",bundle: nil).instantiateVIEwControllerWithIDentifIEr("SearchtableVIEwController") as! SearchtableVIEwController}
然后使用:
var myVIEwController = SearchtableVIEwController.instantiate()总结
以上是内存溢出为你收集整理的swift – 通过覆盖init来从storyboard初始化视图控制器全部内容,希望文章能够帮你解决swift – 通过覆盖init来从storyboard初始化视图控制器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)