IOs Swift : 完成关闭是如何工作的
IOs Swift : How does completion closure work
任何人都可以解释一下,这段代码是如何工作的
private func viewWillTransition(completion:(() -> Void)?)
{
if completion != nil
{
completion!()
}
}
这是在Swift.
中实现回调的基本方案
该函数接受 () -> Void)?
类型的参数 completion
,意思是 "an optional closure taking no parameters and not returning a value."
里面的代码针对nil
测试了closure
的可选值。如果它不是 nil
,代码将用 !
解包并调用。
在 Swift 中实现这一点的更惯用的方法是使用 if let
构造:
private func viewWillTransition(completion:(() -> Void)?) {
if let nonEmptyCompletion = completion {
nonEmptyCompletion()
}
}
任何人都可以解释一下,这段代码是如何工作的
private func viewWillTransition(completion:(() -> Void)?)
{
if completion != nil
{
completion!()
}
}
这是在Swift.
中实现回调的基本方案该函数接受 () -> Void)?
类型的参数 completion
,意思是 "an optional closure taking no parameters and not returning a value."
里面的代码针对nil
测试了closure
的可选值。如果它不是 nil
,代码将用 !
解包并调用。
在 Swift 中实现这一点的更惯用的方法是使用 if let
构造:
private func viewWillTransition(completion:(() -> Void)?) {
if let nonEmptyCompletion = completion {
nonEmptyCompletion()
}
}