Swift – Как вызвать Selector () для метода с аргументами?

Я изучаю Swift и должен называть мой метод нажатием, вот код:

var gestureRecognizer = UITapGestureRecognizer() myView.addGestureRecognizer(gestureRecognizer) gestureRecognizer.addTarget(self, action: Selector(dismiss(nil))) 

Это возвращает ошибку. Could not find an overload for init that accepts the supplied arguments

Я также пробовал, как Selector("dismiss:nil") и Selector("dismiss(nil)") не повезло ..

Здесь метод, который я вызываю:

 func dismiss(completion: (() -> Void)!) { self.dismissViewControllerAnimated(true, completion: completion) } 

Просто используйте имя метода в виде строки:

 gestureRecognizer.addTarget(self, action: "dismiss:") 

Изменить: в Swift 3.0 вам нужно будет использовать следующий синтаксис:

 gestureRecognizer.addTarget(self, action: #selector(dismiss(_:))) 

Вы не передаете аргументы в селекторах. Вы только представляете, что есть один с двоеточием. Кроме того, вам не нужно использовать тип Selector вообще. Если вы передадите строковый литерал, он преобразуется в Селектор для вас.

 gestureRecognizer.addTarget(self, action:"dismiss:") 
  • Передайте дополнительный аргумент для UItapgestureRecognizer с селектором
  • Добавить статический параметр в #selector в Swift
  • Замена @selector прямым кодом
  • Непризнанный селектор отправлен в экземпляр _UIAlertControllerAlertPresentationController
  • iOS - Как реализовать performSelector с несколькими аргументами и с afterDelay?
  • непризнанный селектор isPitched, вызываемый
  • Почему мой #selector не работает?
  • Программный переход от UIBarButtonItem
  • Отправка сообщения объекту с помощью селектора и NSSelectorFromString
  • Какова роль селектора в элементе селектора IILocalizedIndexedCollation для объекта: Объект сортировки (id) collationStringSelector: (SEL)
  • Методы делегатов NSURLConnection в фоновом потоке
  • Interesting Posts

    Как я могу аннулировать кеш iOS для определенного URL-адреса?

    Используя AVPlayer в iOS, вы можете узнать текущий файл .ts или текущую временную метку из кодировщика?

    Порог CGcontext после вращения

    Приложение IOS аварийно завершает работу, но нет журнала сбоев

    Параметры для события Firebase VIEW_ITEM не отображаются (iOS)

    как установить цвет фона в UIimage в быстром программировании

    AVCam с квадратной камерой

    Могу ли я использовать стиль iOS 6 UITabBar?

    Как вы по умолчанию меняете маршруты, когда открываете URL-адрес Google Maps?

    dispatch_queue_set_specific против получения текущей очереди

    Идентификатор пакета для отдельной программы

    iOS 8. window.location.href не работает с URL-схемой

    Как определить причину сбоя приложения iPad?

    Лучший способ измерения скорости загрузки на iPhone с использованием какао-touch

    Ошибка проверки Phonegap: не удалось проверить ваше приложение, пакет не содержит info.plist

    Давайте будем гением компьютера.