Селектор для другого ViewController

Внутри расширения для UIButton я создаю кнопку и добавляю ее цель.

 extension UIButton { convenience init(target: AnyObject) { self.init(type: .system) self.addTarget(target, action: Selector("setLang:"), for: .touchUpInside) } } 

В ViewController при использовании пользовательской функции инициализации для создания кнопки в качестве цели я передаю self .
Это отлично работало, прежде чем обновлять мой код до Swift 3. Теперь, однако, я получаю сообщение об ошибке при нажатии кнопки:

Завершение приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: '- [MyApp.ViewController setLang:]: нераспознанный селектор, отправленный в экземпляр xxx

Внутри ViewController существует следующая объявленная функция, которая должна быть вызвана:

 func setLang(button: UIButton) { //... } 

Есть идеи?
Заранее спасибо!

// Попробуй вот так, надеюсь, это сработает для тебя.

  self.addTarget(target, action: NSSelectorFromString("setLang:"), for: .touchUpInside) 

Нашел проблему. Вместо объявления функции, как я делал раньше, мне нужно сделать это следующим образом:

 func setLang(_ button: UIButton) { //... } 

Надеюсь, это поможет другим взглядам.

Я нашел это решение от Apple Developer Forums. Это может вам помочь.

 selectionButton.addTarget(self, action: #selector(SingleQuestionViewController.selected(_:)), for: .touchUpInside) 
  • Умножение UInt64 на Float
  • iOS8 + Swift: создать настоящий одноэлементный класс
  • Чтение штрих-кода iOS Swift
  • Как реализовать обратную связь пользователей с FireBase?
  • Ошибка: UITableView переместится вверх с помощью UITableViewAutomaticDimension
  • UIScrollView: клавиатура убирается в интерактивном режиме
  • Swift - NSMutableAttributedString изменяет весь текст в UITextView
  • CMVideoFormatDescriptionCreateFromH264ParameterSets в Swift
  • Заголовок авторизации Restkit исчезает
  • Swift: позиция iAd UITableViewController
  • файл был создан для arm64, который не связан с архитектурой (x86_64)
  • Interesting Posts

    Странное поведение AVMutableComposition при подключении наушников

    Предварительно запрограммированное хранилище данных SQL с новым журналом журнала записи (WAL)

    Воспроизведение аудио и видео одновременно в IOS

    Возможно ли сделать отрицательный loc в NSMakeRange?

    Как отменить аудиофайл?

    Swift Generics: IntegerType Version Works, но не FloatingPointType

    Создание анимированных текстовых эффектов с помощью NSLayoutManager?

    UIScrollView с Autolayout Неоднозначная высота

    Магическая запись, перенос основных данных для выпущенного приложения в Appstore

    Откройте приложение «Сообщения iOS» и перейдите непосредственно в список «Входящие» / «Сообщения»

    Сделать кнопку touchUpInside FBLoginView

    Appium и Selenium не могут подключиться при появлении всплывающего окна «Использовать текущее местоположение»

    CABasicAnimation, как получить текущий угол поворота

    Динамически создавать NSString с помощью Unicode emoji

    ReactiveCocoa: Цепь сигнала с повторяющимся сигналом

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