Swift 如何在UILabel中显示本地产品价格?
我想获得带有货币符号的本地化应用程序内购买价格,并将其显示在UILabel上。但我不知道怎么做,因为我不知道如何获取SKProduct对象。也许可以使用apple产品id获取它?Swift 如何在UILabel中显示本地产品价格?,swift,Swift,我想获得带有货币符号的本地化应用程序内购买价格,并将其显示在UILabel上。但我不知道怎么做,因为我不知道如何获取SKProduct对象。也许可以使用apple产品id获取它? extension SKProduct { /// - returns: The cost of the product formatted in the local currency. var regularPrice: String? { let formatter = NumberFormatter()
extension SKProduct {
/// - returns: The cost of the product formatted in the local currency.
var regularPrice: String? {
let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.locale = self.priceLocale
return formatter.string(from: self.price)
}}
编辑:
SKProduct对象作为SKProductsResponse的一部分返回
对象(c)
如何获取产品信息:
另请观看WWDC提供的有用视频:
总结上述文件:
class ProductResolver: NSObject, SKProductsRequestDelegate {
// Keep a strong reference to the product request.
var request: SKProductsRequest!
func getProducts(productIdentifiers: [String]) {
let productIdentifiers = Set(productIdentifiers)
request = SKProductsRequest(productIdentifiers: productIdentifiers)
request.delegate = self
request.start()
}
// SKProductsRequestDelegate protocol method.
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
for product in response.products {
print("Local currency \(product.regularPrice)")
}
}
}
编辑了我的问题并添加了如何在viewDidLoad()中调用此函数的代码。但我仍然不知道如何在UILabel上显示产品id1的价格?您可以使用带有故事板或nib的IBOutlets。也可以通过编程方式创建UILabel。通过设置所有文本到UILabel后
class ProductResolver: NSObject, SKProductsRequestDelegate {
// Keep a strong reference to the product request.
var request: SKProductsRequest!
func getProducts(productIdentifiers: [String]) {
let productIdentifiers = Set(productIdentifiers)
request = SKProductsRequest(productIdentifiers: productIdentifiers)
request.delegate = self
request.start()
}
// SKProductsRequestDelegate protocol method.
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
for product in response.products {
print("Local currency \(product.regularPrice)")
}
}
}