gpt4 book ai didi

swift - 在 Swift 3 错误中访问代码

转载 作者:IT王子 更新时间:2023-10-29 04:58:07 25 4
gpt4 key购买 nike

在 Xcode 8 beta 4 中,NSError 被桥接到 Swift Error 协议(protocol)类型。这会在处理失败的 SKPaymentTransaction 时影响 StoreKit。您应该检查以确保错误没有发生,因为事务被取消以了解是否向用户显示错误消息。您可以通过检查错误的 code 来做到这一点。但是使用 Error 而不是 NSError,没有定义 code。我一直无法弄清楚如何从 Error 中正确获取错误代码。

这在以前版本的 Swift 3 中有效:

func failedTransaction(_ transaction: SKPaymentTransaction) {
if let transactionError = transaction.error {
if transactionError.code != SKErrorCode.paymentCancelled.rawValue {
//show error to user
}
}
...
}

现在 error 是一个 Error 而不是 NSErrorcode 不是成员。

最佳答案

访问 Swift 3 错误类型中的代码和域属性的另一个选项是如下扩展它:

extension Error {
var code: Int { return (self as NSError).code }
var domain: String { return (self as NSError).domain }
}

关于swift - 在 Swift 3 错误中访问代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38711269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com