如何调用具有以下签名的函数?
func purchaseSubscription(productId: String, completion: @escaping (Bool, String, String) -> Void) {
Run Code Online (Sandbox Code Playgroud)
是吗
InAppHandler.purchaseSubscription("test") {
processPurchase()
}
Run Code Online (Sandbox Code Playgroud)
可以有多种形式来调用该方法。
1.定义调用时的参数closure,ue
InAppHandler.purchaseSubscription(productId: "test") {(x, y, z) in
print(x, y, z)
processPurchase()
}
Run Code Online (Sandbox Code Playgroud)
2.调用while中$0, $1的参数可以使用简写形式(等)closure,即
InAppHandler.purchaseSubscription(productId: "test") {
print($0, $1, $2)
processPurchase()
}
Run Code Online (Sandbox Code Playgroud)
上面2个是一样的。只是在第一个中你给出了参数名称,在第二个中你使用了这些参数的简写。
3.如果你没有使用你在 中得到的任何参数,closure用下划线( _) 像这样标记它们,
InAppHandler.purchaseSubscription(productId: "test") {(_, _, _) in
processPurchase()
}
Run Code Online (Sandbox Code Playgroud)
您可以根据需要使用任何其他形式。
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |