gpt4 book ai didi

ios - 完成处理程序困惑

转载 作者:搜寻专家 更新时间:2023-11-01 06:57:15 28 4
gpt4 key购买 nike

我目前正在使用 SwiftyStoreKit 进行应用内购买,我用来尝试获取价格和产品描述等信息的功能有一个完成处理程序,我是新手使用完成处理程序并阅读有关@escape 如果我想返回一个字符串或让一个值转义。我的功能代码如下:

func getPrice(product: IAPProducts, completion: @escaping (String) -> Void) {
var priceString = ""
SwiftyStoreKit.retrieveProductsInfo(["Grant.Marco.1000Coins"]) { result in
if let product = result.retrievedProducts.first {
priceString = product.localizedPrice!
print("Product: \(product.localizedDescription), price: \(priceString)")
}
else if let invalidProductId = result.invalidProductIDs.first {
print("Invalid product identifier: \(invalidProductId)")
}
else {
print("Error: \(String(describing: result.error))")
}
}
completion(priceString)
}

我现在遇到的问题是,当我想在我的标签文本中显示该价格时,它要求完成信息

我应该为此付出什么?

enter image description here

最佳答案

你需要这样调用它

SwiftyStoreKitController.shared.getPrice(product:IAPProducts.thousand) { (price) in
// set here
let label = SKLabelNode(text:price)
}

完成的地方也需要改变

func getPrice(product: IAPProducts, completion: @escaping (String) -> Void) {
var priceString = ""
SwiftyStoreKit.retrieveProductsInfo(["Grant.Marco.1000Coins"]) { result in
if let product = result.retrievedProducts.first {
priceString = product.localizedPrice!
print("Product: \(product.localizedDescription), price: \(priceString)")
}
else if let invalidProductId = result.invalidProductIDs.first {
print("Invalid product identifier: \(invalidProductId)")
}
else {
print("Error: \(String(describing: result.error))")
}

completion(priceString) // << here
}

}

关于ios - 完成处理程序困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52884846/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com