2016-11-05 75 views
2

我用swift 2.0编程创建了一个名为noBtn的UIButton,它表示解散了UIViewController。当用户点击按钮时,包含该按钮的视图控制器将被取消。当我转换为SWIFT 3.0我一直得到这个错误:当转换为swift 3.0时,在UIButton上模糊使用'dismiss()'

  • 不明确使用“解雇()”

我尝试添加参数dismiss(),但没有奏效。这是我的原始代码没有参数。

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

更新你的'dismiss'方法你的问题。 – rmaddy

+0

Dismiss方法是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

斯威夫特2

dismissViewControllerAnimated(true, completion: nil) 

斯威夫特3

dismiss(animated: true, completion: nil)