我正在向用户提供UIAlertView
,但我不知道如何编写处理程序。这是我的尝试:
let alert = UIAlertController(title: "Title",
message: "Message",
preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Okay",
style: UIAlertActionStyle.Default,
handler: {self in println("Foo")})
我在Xcode中遇到很多问题。
该文档说
convenience init(title title: String!, style style: UIAlertActionStyle, handler handler: ((UIAlertAction!) -> Void)!)
目前,整个块/闭包都让我有些头疼。任何建议都将不胜感激。
最佳答案
而不是将自己放置在处理程序中,而应放置(警告:UIAlertAction!)。这应该使您的代码看起来像这样
alert.addAction(UIAlertAction(title: "Okay",
style: UIAlertActionStyle.Default,
handler: {(alert: UIAlertAction!) in println("Foo")}))
这是在Swift中定义处理程序的正确方法。
正如Brian在下面指出的那样,还有一些更简单的方法来定义这些处理程序。书中讨论了使用他的方法的情况,请参见标题为“闭包”的部分。
关于ios - UIAlertAction的编写处理程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24190277/