我希望创建一个静态方法,将其放在可以启动UIAlertController
的实用程序类中。但是,我收到以下错误:
“额外的参数在单元格中动画”
static func simpleAlertBox1(msg : String) -> Void{
let alertController = UIAlertController(title: "Alert!", message: msg, preferredStyle: .actionSheet)
let defaultAction = UIAlertAction(title: "OK", style: .default, handler: nil)
alertController.addAction(defaultAction)
present(alertController, animated: true, completion: nil)// error is being generated here
}
我尝试了这个,但是仍然给了我同样的错误:
presentViewController(alertController, animated: true, completion: nil)
但是,如果我要删除
static
,那么它可以正常工作。 最佳答案
self是UIViewController的一个实例,如果要以静态方式调用此函数,只需添加另一个要在其中显示它的param viewcontroller。 非常重要,您需要在viewDidload之后显示alertView。
这里是一个示例代码:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(_ animated: Bool) {
ViewController.simpleAlertBox1(msg: "test", viewController: self)
}
static func simpleAlertBox1(msg : String , viewController : UIViewController) -> Void{
let alertController = UIAlertController(title: "Alert!", message: msg, preferredStyle: .actionSheet)
let defaultAction = UIAlertAction(title: "OK", style: .default, handler: nil)
alertController.addAction(defaultAction)
viewController.present(alertController, animated: true, completion: nil)// error is being generated here
}
}
关于ios - 静态方法中的UIAlertController给出错误:单元格中有额外的参数动画,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44958452/