IOs Swift:完成关闭是如何工作的

时间:2016-09-22 09:55:52

标签: swift swift2 closures completion

任何人都可以解释一下,这段代码是如何运作的

private func viewWillTransition(completion:(() -> Void)?)
{
    if completion != nil
    {
        completion!()
    }
}

1 个答案:

答案 0 :(得分:2)

这是在Swift中实现回调的基本方案。

该函数采用类型completion的参数() -> Void)?,意思是“一个可选的闭包,不带参数而不返回值。”

里面的代码测试closure的{​​{1}}的可选值。如果不是nil,代码会使用nil将其解包,然后拨打电话。

在Swift中实现它的一种更惯用的方法是使用! construct:

if let