Я пытаюсь инициализировать подкласс UIGestureRecognizer
как свойство класса ViewController
, но я не уверен, что поставить в качестве цели распознавателя жестов.Поиск цели при инициализации gestureRecognizer
class ViewController: UIViewController {
// Not sure where this declaration should happen
var menuGesture: MenuGestureRecognizer = MenuGestureRecognizer(target: self(), action: Selector("menuGestureHandler:"))
override func viewDidLoad() {
super.viewDidLoad()
self.view.addGestureRecognizer(menuGesture)
}
}
XCode предлагает self()
, но затем я получаю ошибку:
Swift Compiler Error: Missing argument for parameter #1 in call`
Мне кажется, что это не удается, потому что я пытаюсь объявить переменную в рамках класса. Если это так, где/как я должен объявить распознаватель жестов?
Я довольно хорошо разбираюсь в Objective-C, но в последнее время переключился на Swift, не так ли?
ISN» t 'menuGesture' не является свойством класса' ViewController'? – dillondrenzek
Да, это не свойство. Зачем это нужно? Если вам действительно нужно это свойство, сделайте его необязательным и назначьте его в 'viewDidLoad'. – vacawama
Я думаю, вы правы, это не обязательно должно быть свойство. Спасибо за немного о дополнительном, хотя! Я все еще учусь :) – dillondrenzek