我无法向以下UIViewController类添加init方法。 我需要在init方法中编写一些代码。 我必须编写init(coder)方法吗? 即使我添加了编码器和解码器方法,我仍然会收到错误消息。 我还尝试过使用没有任何参数的init方法,但似乎也不起作用。
class ViewController: UIViewController {
var tap: UITapGestureRecognizer?
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
super.init(nibName: nil, bundle: nil)
tap = UITapGestureRecognizer(target: self, action: Selector("handleTap:"))
}
...
...
}
如果我调用super.init()方法而没有传入参数,则会出现“必须调用超类的指定初始化程序”错误,如果我传递参数nib和bundle,则会出现“需要初始化程序init(coder)”错误。
即使我添加了init(coder)和init(decoder),它也无法正常工作。
init()
中添加什么?如果只是触摸手势,你也可以在viewDidLoad()
中完成,甚至可以将其做成懒加载变量。 - Eendje