이 코드를 실행하려고하면 오류가 발생하며 오류가 발생합니다. 나는 그것을 올바르게하는 방법을 이해할 수 없다.'NSString'에 'NSError'(0x264bd90) 유형의 값을 캐스팅 할 수 없습니다.
@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 응용 프로그램을 열 수 없음"사용자 정보 = {NSLocalizedFailureReason = MobilePay 여기
내 FUNC입니다 앱이 설치되지 않았습니다. NSLocalizedRecoverySuggestion = MobilePay 앱을 설치하고 다시 시도하십시오., NSLocalizedDescription = MobilePay 앱을 열 수 없습니다.} 'NSError'(0x264bd90) 유형의 값을 'NSString'(0x264d6b8)으로 캐스팅하지 못했습니다. (lldb)그것은 인쇄 작업을 보인다 오류가 인쇄되어 있습니다,하지만 난
이 '는 NSString' 에 유형의 가치 'NSError'(0x264bd90)를 캐스팅 할 수 없습니다 마지막 줄을 어떻게해야합니까 사람 (0x264d6b8). (lldb)
어떻게 수정합니까?
로컬 변수'Error'를 호출하는 것은 동일한 이름의 * 프로토콜 *이 있기 때문에 난독 화됩니다. 그 외에도 문자열에 오류를 넣을 수 있다고 생각하는 이유는 무엇입니까? 'error.localizedDescription' 아마 당신이 원하는 것입니다. –