SwiftyStoreKitが提示するalertViewではなく、私のラベルの中にSKProductアイテムの価格を表示したいと思います。 viewDidLoadでUILabel(Swift)(SwiftyStoreKit)に現在の関数の結果
、Iは
coralsAppLabel.text = getInfo(PurchaseCorals)
を試みたが、これは私がUILabelにタイプを()ひそかできないというエラーが生じます。
これは、以下のSwiftyStoreKitコードに基づいています。
enum RegisteredPurchase : String {
case reefLifeCorals = "ReefLife4Corals"
}
@IBOutlet weak var coralsAppLabel: UILabel!
func getInfo(_ purchase: RegisteredPurchase) {
NetworkActivityIndicatorManager.networkOperationStarted()
SwiftyStoreKit.retrieveProductsInfo([purchase.rawValue]) { result in
NetworkActivityIndicatorManager.networkOperationFinished()
self.showAlert(self.alertForProductRetrievalInfo(result))
}
}
func alertForProductRetrievalInfo(_ result: RetrieveResults) -> UIAlertController {
if let product = result.retrievedProducts.first {
let priceString = product.localizedPrice!
return alertWithTitle(product.localizedTitle, message: "\(product.localizedDescription) - \(priceString)")
}
else if let invalidProductId = result.invalidProductIDs.first {
return alertWithTitle("Could not retrieve product info", message: "Invalid product identifier: \(invalidProductId)")
}
else {
let errorString = result.error?.localizedDescription ?? "Unknown error. Please contact support"
return alertWithTitle("Could not retrieve product info", message: errorString)
}
}
すべてのヘルプは、ここでの主な問題は、あなたがあなたの関数getInfo
が暗黙的UILabel
のString?
プロパティに戻りますVoid
(別名()
)値を代入しようとしているということです
Swift 3が必要としたことを反映するためにコードにいくつかの変更を加えました。また、私は価格が必要なだけで検索したデータを変更しました。 –
すばらしい。ありがとうございました。 –