我正在使用Swift编程语言并使用UIAlertController
和“取消”按钮来显示警报。
我正在使用下面的代码来创建取消按钮。
let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: { (alert) -> Void in
self.navigationController?.popToRootViewControllerAnimated(true)
})
alertController.addAction(cancelAction)
点击“取消”按钮时,必须将用户带回根视图控制器 但代码没有编译。它显示的错误如下:
Cannot invoke 'init' with an argument list of type `(title: StringLiteralConvertible, style: UIActionSheetStyle, handler: (($T2) -> Void) -> Void)`
我无法理解如何解决此问题。
答案 0 :(得分:1)
另一个答案对我来说也不起作用;这一个做到了。 添加此功能
func popToRoot() {
self.navigationController?.popToRootViewControllerAnimated(true)
}
然后更改原始功能
{ (alert :UIAlertAction!) -> Void in
self.popToRoot()
}
答案 1 :(得分:1)
你可以试试这个。
let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler:
{ action in
self.navigationController?.popToRootViewController(animated: true)
} )
答案 2 :(得分:0)
尝试替换(警告):
(alert :UIAlertAction!)