gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 10:34:50 25 4
gpt4 key购买 nike

Xcode 8 beta 4 中的新增功能,NSError 已桥接到 Swift Error 协议(protocol)类型。这会在处理失败的 SKPaymentTransaction 时影响 StoreKit。您应该检查以确保没有因为事务被取消而发生错误,以了解是否向用户显示错误消息。您可以通过检查错误的代码来完成此操作。但是使用 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
}
}
...
}

现在 errorError 而不是 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/58261872/

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