ios - 在 SKPaymentTransaction (Swift 3) 中从交易中抛出错误

标签 ios swift swift3 nserror

我正在尝试获取事务中的错误代码 (Swift 3):

func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
        for transaction in transactions {
            if let errorCode = (transaction.error as NSError).code {
             //Do something
            }
        }


}

我收到以下错误。

'Error?' is not convertible to 'NSError'; did you mean to use 'as!' to force downcast?`.

为什么这行不通?我认为 Error 可以转换为 Swift 3 中的 NSError。

最佳答案

尝试将 Error 对象转换为 NSError 然后访问错误代码。

if let nsError = error as? NSError {
    print(nsError.code)
}

关于ios - 在 SKPaymentTransaction (Swift 3) 中从交易中抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39745482/

相关文章:

iphone - 设置 UILabel 的背景(.png 文件的透明度问题)

ios - 如何创建类似 IBInspectable 属性的段控件?

ios - swift 3 中的 NSNumber 问题

ios - 如何移动用 UIBezierPath 创建的线?

ios - 使用 FirebaseUI 和存储引用加载图像

ios - 内在弱引用与非内在弱引用?

ios - 在 iPhone 上使用 splitviewcontroller 先描绘细节 View

iOS - Parse.com 导出数据自动化

ios - 如何在 URLSession 数据任务中设置变量?

ios - 后台获取 performFetchWithCompletionHandler 不工作?