迅速形成并通过一个闭合

  • 本文关键字:一个 swift
  • 更新时间 :
  • 英文 :


我有这个方法签名,并且在如何创建和传递闭包方面存在问题。

该方法的签名如下所示。

func getProduct(_ catalog: String, closure: (String) -> Int) -> Bool {
return false;
}

问题是,如何称呼它?我一直在努力。

var result = getProduct("foo", closure: (name: String) -> return 4);

上面写着

前应为类型

首先是Swift:没有尾随分号。

您可以通过三种方式调用函数,参数名称param是任意的:

  1. 标准语法

    let result = getProduct("Foo", closure: { param in
    return Int(param) ?? 0
    })
    
  2. 尾随闭包语法(这是代码完成建议的方式(

    let result = getProduct("Foo") { param in
    return Int(param) ?? 0
    }
    
  3. 关闭的单独声明

    let closure : (String) -> Int = { param in
    return Int(param) ?? 0
    }
    let result = getProduct("Foo", closure: closure)
    

在Swift 5.1+中,您甚至可以省略return语句({ param in Int(param) ?? 0 }(

相关内容

  • 没有找到相关文章

最新更新