Я программно добавляю UITapGestureRecognizer к одному из своих представлений:
let gesture = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(modelObj:myModelObj)))
self.imageView.addGestureRecognizer(gesture)
func handleTap(modelObj: Model) {
// Doing stuff with model object here
}
Первая проблема, с которой я столкнулся, - "Аргумент" #selector "не относится к методу, свойству или инициализатору" @Objc ".
Прохладный, поэтому я добавил @objc в подпись handleTap:
@objc func handleTap(modelObj: Model) {
// Doing stuff with model object here
}
Теперь я получаю сообщение об ошибке "Метод не может быть помечен как @objc, потому что тип параметра не может быть представлен в Objective-C.
Это просто изображение карты здания, с некоторыми изображениями, указывающими расположение точек интереса. Когда пользователь удаляет один из этих контактов, я хотел бы знать, какую точку интереса они использовали, и у меня есть модельный объект, который описывает эти точки интереса. Я использую этот объект модели, чтобы дать его координату на карте, поэтому я подумал, что было бы легко просто отправить объект обработчику жестов.