ios – Swift:如何可选地传递函数作为参数并调用函数?

前端之家收集整理的这篇文章主要介绍了ios – Swift:如何可选地传递函数作为参数并调用函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
你如何可以选择将函数传递给另一个函数?具体来说,假设functionA接受参数functionB.如果functionB不为零,那么你如何在functionA中执行functionB呢?

解决方法

很难看出有什么困难的,所以也许这不是你的意思,因为它似乎很明显;但无论如何,
func optionalFunctionExpecter(f:(()->())?) {
    f?()
}

以下是使用实际功能调用它的方法

func g() {
    println("okay")
}
optionalFunctionExpecter(g)

或者用一个实际的匿名函数调用它:

optionalFunctionExpecter { println("okay2") }

以下是以nil表示的方法

optionalFunctionExpecter(nil)

注意在我执行optionalFunctionExpecter时,当调用nil时,不会发生任何事情:我们不会调用f,我们不会崩溃,我们不会做任何事情.如果你需要知道没有通过,你可以很容易的发现:只需要在optionalFunctionExpecter中询问f == nil,然后根据需要继续进行.为了更多的灵活性,我们可以这样重写:

func optionalFunctionExpecter(f:(()->())?) {
    if let f = f {
        f()
    } else {
        // ... nil was passed,respond to that fact ...
    }
}
原文链接:https://www.f2er.com/iOS/329254.html

猜你在找的iOS相关文章