2016-11-05 1 views
2

Я программно создал UIButton в swift 2.0 с именем noBtn, что означает увольнение UIViewController. Когда пользователь нажимает кнопку, контроллер вида, содержащий кнопку, отклоняется. Когда я преобразовал в быстрой 3.0 я постоянно получаю эту ошибку:Неоднозначное использование 'увольнения()' на UIButton при преобразовании в swift 3.0

  • Неоднозначное использование «распускать()»

Я попытался добавить аргументы dismiss(), но это не сработало. Вот мой оригинальный код без аргументов.

noBtn.addTarget(self, action: #selector(SetUpNameViewController.dismiss), for: UIControlEvents.touchUpInside) 
+1

Обновить ваш вопрос с 'dismiss' методом. – rmaddy

+0

Метод увольнения является частью библиотеки Swift – AJS

+1

его метод, который встроен, он работал в swift 2.0, но в swift 3.0 он не делает – AJS

ответ

0

Перепишите вот так. Во-первых, дают один и тот же класс в dismiss метод:

func dismiss() { 
    self.dismiss(animated:true) 
} 

Во-вторых, изменить ваш selector к #selector(dismiss).

Теперь ваш селектор вызовет вашу функцию dismiss, которая вызовет dismiss(animated:completion:), что и вы пытаетесь сделать.

0

Swift 2

dismissViewControllerAnimated(true, completion: nil) 

Swift 3

dismiss(animated: true, completion: nil)