このコードを実行しようとするとクラッシュし、エラーが発生します。私はそれを正しく行う方法を理解することはできません。ここで'NSError'(0x264bd90)の値を 'NSString'にキャストできません
は私のFUNCです:
@IBAction func MobilePay(_ sender: Any) {
let payment = MobilePayPayment(orderId: "123456", productPrice: 10.0)
//No need to start a payment if one or more parameters are missing
if (payment != nil) && ((payment?.orderId.characters.count)! > 0) && ((payment?.productPrice)! >= 0) {
MobilePayManager.sharedInstance().beginMobilePayment(with: payment!, error: { (Error) in
print(Error)
self.alert(message: Error as! String)
})
}
}
と私のエラーログ:
エラードメイン= com.danskebank.mobilepayコード= 1001 "MobilePayアプリを開くことができません" のUserInfo = {NSLocalizedFailureReason = MobilePay NSLocalizedDescription = MobilePayアプリを開くことができません} タイプ 'NSError'(0x264bd90)の値を 'NSString'(0x264d6b8)にキャストできませんでした。 (lldb)
それは印刷作品だとエラーが印刷されますが、私は最後の行
は「NSStringの」 にタイプ「NSError」(0x264bd90)の値をキャストできませんでした誰を得るのですか(0x264d6b8)。 (lldb)
どのように修正すればよいですか?
同じ名前の*プロトコル*があるので、ローカル変数 'Error'を呼び出すことは難読化されています。それとは別に、あなたは文字列にエラーを投げることができると思いますか? 'error.localizedDescription'はおそらくあなたが望むものです。 –