我无法将 init 方法添加到以下 UIViewController 类。我需要在 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) 它也不起作用。