我的init
视图控制器中有以下方法:
init(mainViewController: UIViewController, settingsViewController: UIViewController, gap: Int) {
self.mainViewController = mainViewController
self.settingsViewController = settingsViewController
self.gap = gap
self.setupScrollView() // I get error here
super.init(nibName: nil, bundle: nil) //and here.
}
self.setupScrollView
现在的方法如下所示:
func setupScrollView() {
self.scrollView = UIScrollView(frame: CGRectZero)
self.scrollView.setTranslatesAutoresizingMaskIntoConstraints(false)
self.view.addSubview(self.scrollView)
}
我得到的错误是:
self used before super.init call
和 Property 'self.scrollView' not initialized at super.init call
我看过类似的帖子,没有任何运气。任何帮助,将不胜感激!
您可以通过将其声明scrollView
为可选选项并将安装方法调用移到该调用下方来完成此操作super.init
。该声明将如下所示:
var scrollView : UIScrollView?
和初始化:
init(mainViewController: UIViewController, settingsViewController: UIViewController, gap: Int) {
//other stuff
super.init(nibName: nil, bundle: nil)
self.setupScrollView()
}
func setupScrollView() {
scrollView = UIScrollView(frame: CGRectZero)
scrollView!.setTranslatesAutoresizingMaskIntoConstraints(false)
view.addSubview(scrollView!)
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句