似乎有三种不同的方法来编写UIAlertAction的处理程序。下面的每一个似乎都做了我希望他们做的相同的事情
// 1.
let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: {(action: UIAlertAction!) -> Void in
print("a")
})
// 2.
let okAction = UIAlertAction(title: "OK", style: .Default, handler: { (action: UIAlertAction!) in
print("b")
})
// 3.
let okAction = UIAlertAction(title: "OK", style: .Default) { (action) in
print("c")
}
// OUTPUT:
// a
// b
// c
这些都是做处理的吗?有什么区别,最好用哪一种?
最佳答案
它们都是一样的,主要是你喜欢的句法风格问题。选项3使用类型推断和尾随闭包语法,这通常是首选的,因为它很简洁,并且在将最后一个参数闭包移到函数调用之外时去掉了额外的一组括号。您可以通过删除action
周围的括号来增加选项3,这些也不需要。
有关这一点的更多信息,请参见Swift Programming Language一书中有关闭包的部分。
关于ios - 制作UIAlertAction处理程序的正确方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38780630/