Nie mogę dodać metody init do następującej klasy UIViewController. Muszę napisać jakiś kod w metodzie init. Czy muszę napisać metodę init (koder)? Nawet gdy dodaję koder i metody dekodera, ciągle dostaję błędy. Próbowałem również używać metody init bez żadnych parametrów, ale to też nie działa.Jak pisać metody init sterownika UIView w Swift
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:"))
}
...
...
}
Gdybym wywołać metodę super.init() bez parametrów błędu jest „Must call wyznaczony inicjator super klasy”, a jeśli mijam stalówkę parametrów wiązki i następnie błąd jest „niezbędna inicjująca init (koder) ".
Nawet jeśli dodaję init (koder) i init (dekoder), to nie działa.
Jaki jest błąd? –
musisz wypróbować wymagany init. Dodałem @ankit odpowiedź –
Co dokładnie chcesz dodać w swoim 'init()'? Jeśli jest to tylko gest dotykowy, możesz to zrobić również w 'viewDidLoad()', lub nawet sprawić, że będzie leniwym var. – Eendje