次の 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 とバンドルを渡すと、エラーは「必要な初期化子 init(coder)」です。
init(coder) と init(decoder) を追加しても機能しません。