Ios 如何使用以下完成处理程序调用函数?

Ios 如何使用以下完成处理程序调用函数?,ios,swift,Ios,Swift,如何调用具有以下签名的函数 func purchaseSubscription(productId: String, completion: @escaping (Bool, String, String) -> Void) { 是吗 这是您的电话号码: InAppHandler().purchaseSubscription(productId: "anyStringData") { (boolCheck, result1, result2) in

如何调用具有以下签名的函数

func purchaseSubscription(productId: String, completion:  @escaping  (Bool, String, String) -> Void) {
是吗

这是您的电话号码:

InAppHandler().purchaseSubscription(productId: "anyStringData") { (boolCheck, result1, result2) in
            print(result1)
        }
这就是你的定义:

 func purchaseSubscription(productId: String, completion:  @escaping  (Bool, String, String) -> Void) {
    completionResult(true,"Data1", "Data2")
    }
这是您的电话号码:

InAppHandler().purchaseSubscription(productId: "anyStringData") { (boolCheck, result1, result2) in
            print(result1)
        }
这就是你的定义:

 func purchaseSubscription(productId: String, completion:  @escaping  (Bool, String, String) -> Void) {
    completionResult(true,"Data1", "Data2")
    }

完成处理程序需要三个输入参数。您可以忽略这些参数,但必须明确说明。此外,签名表明这是一个成员函数,而您似乎正在调用类型类、struct、enum…上的函数。。。。因此,正确的方法是:

let inAppHandler = InAppHandler()
inAppHandler.purchaseSubscription(productId: "test") { _, _, _ in 
    processPurchase()
}

完成处理程序需要三个输入参数。您可以忽略这些参数,但必须明确说明。此外,签名表明这是一个成员函数,而您似乎正在调用类型类、struct、enum…上的函数。。。。因此,正确的方法是:

let inAppHandler = InAppHandler()
inAppHandler.purchaseSubscription(productId: "test") { _, _, _ in 
    processPurchase()
}

这是您需要使用的代码:

InAppHandler.purchaseSubscription(productId: "test") { (boolVal1, stringVal, boolVal2) in
    processPurchase()
}

这是您需要使用的代码:

InAppHandler.purchaseSubscription(productId: "test") { (boolVal1, stringVal, boolVal2) in
    processPurchase()
}

你的电话应该是这样的

 InAppHandler.purchaseSubscription(productId: "YOUR_PRODUCT_ID_STRING") { (boolValue, firstString, secondString) in

 }

你的电话应该是这样的

 InAppHandler.purchaseSubscription(productId: "YOUR_PRODUCT_ID_STRING") { (boolValue, firstString, secondString) in

 }

由于您没有使用任何闭包参数,建议使用_

在执行processPurchase之前,最好检查closure参数

      purchaseSubscription(productId: "Id") { success, _, _ in
         if success {
               processPurchase()
          }
       }

由于您没有使用任何闭包参数,建议使用_

在执行processPurchase之前,最好检查closure参数

      purchaseSubscription(productId: "Id") { success, _, _ in
         if success {
               processPurchase()
          }
       }

可以有多个表单来调用该方法

一,。定义调用闭包时的参数,即

二,。在调用闭包时,可以对闭包中的参数使用速记形式$0、$1等,即

InAppHandler.purchaseSubscription(productId: "test") {
    print($0, $1, $2)
    processPurchase()
}
以上2个是相同的。在第一个例子中,你给出了参数名,在第二个例子中,你使用了这些参数的简写

三,。如果您没有使用在闭包中得到的任何参数,请使用下划线标记它们,如是


您可以根据需要使用任何其他表单。

可以有多个表单来调用该方法

一,。定义调用闭包时的参数,即

二,。在调用闭包时,可以对闭包中的参数使用速记形式$0、$1等,即

InAppHandler.purchaseSubscription(productId: "test") {
    print($0, $1, $2)
    processPurchase()
}
以上2个是相同的。在第一个例子中,你给出了参数名,在第二个例子中,你使用了这些参数的简写

三,。如果您没有使用在闭包中得到的任何参数,请使用下划线标记它们,如是

您可以根据需要使用任何其他形式。

.purchaseSubscriptiontest{flag,x,y其中flag为Bool,x,y为字符串。purchaseSubscriptiontest{flag,x,y其中flag为Bool,x,y为字符串