swift – 通过覆盖init来从storyboard初始化视图控制器

swift – 通过覆盖init来从storyboard初始化视图控制器,第1张

概述我在一个故事板中定义了一个ViewController实例.我可以通过以下方式初始化它 var myViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("myViewControllerIdentifier") as! ViewController 有没有办 我在一个故事板中定义了一个VIEwController实例.我可以通过以下方式初始化它
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初始化视图控制器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1045529.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存