在 Swift 3 中访问代码错误

2023-11-21

Xcode 8 beta 4 中的新功能,NSError桥接到 SwiftError协议类型。这会在处理失败时影响 StoreKitSKPaymentTransactions。您应该检查以确保没有因为事务被取消而发生错误,以了解是否向用户显示错误消息。您可以通过检查错误来做到这一点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 is an Error not NSError, code不是会员。


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

extension Error {
    var code: Int { return (self as NSError).code }
    var domain: String { return (self as NSError).domain }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Swift 3 中访问代码错误 的相关文章

随机推荐

  • 从版本 5.0.3 开始,在 mysql 表的小数字段中存储负数

    我的表中很少有带有小数类型金额列的字段 此列将包含存款金额 正值 或取款金额 负值 我将正值存储为 120 将负值存储为 50 我对该列求和并得到了预期的结果 Mysql版本是 5 1 33 community 当我检查有关十进制的 mys
  • 在 TextView 中使用 SpannableStringBuilder 的段落间距

    正如问题所示 我正在研究TextView这将使用显示格式化文本SpannableStringBuilder 它有多个段落 我想知道使用某些内置跨度设置段落之间的间距的最简单 或至少最不复杂 的方法是什么 这可能吗 或者我需要为此构建一个自定
  • 类型错误:__init__() 需要 3 个位置参数,但给出了 4 个

    这些是我的课程的代码 class Employee def init self name gender self name name self gender gender class Salary def jump self name sa
  • UTF-8 和 UTF-16 之间有很大区别吗

    我调用一个 Web 服务 它返回一个具有 UTF 8 编码的响应 xml 我用java检查了这一点getAllHeaders method 现在 在我的 java 代码中 我获取该响应 然后对其进行一些处理 然后 将其传递给不同的服务 现在
  • Visual Studio 2010 主题,更改参数帮助背景颜色

    最近我在 Visual Studio 2010 中安装了电动工具扩展它工作得很好 但是我的文本着色主题有问题 黄昏 以及扩展的彩色参数功能 由于主题文本前景色为灰色 当 Power Tools Extensions 使用我的文本颜色显示参数
  • Chrome 扩展程序弹出窗口中单击时的 JavaScript 警报立即消失

    我正在开发一个 Chrome 扩展程序 并希望在用户单击某些元素时使用 Prompt 获取用户的输入 不幸的是 由于某种原因 当作为 onclick 或在 jQuery something click function 中调用时 我无法让p
  • 使用 JavaScript 使用 HmacSHA256 正确签署字符串

    在用于身份验证的 Houndify API 文档中 您有以下内容块 验证请求的示例 假设我们有以下信息 UserID ae06fcd3 6447 4356 afaa 813aa4f2ba41 RequestID 70aa7c25 c74f
  • 使用 DLR 运行使用 CompileAssemblyFromSource 生成的代码?

    对此进行后续跟进很好的答案 我想知道 DLR 是否使用dynamic关键字可以允许以不太冗长的方式为生成的程序集编写代码 例如 上述答案的代码可以 using Microsoft CSharp CSharpCodeProvider foo
  • Pytorch - 在 softmax 层之后选择最佳概率

    我有一个使用 Pytorch 0 4 0 的逻辑回归模型 其中我的输入是高维的 我的输出必须是标量 0 1 or 2 我使用线性层与 softmax 层相结合来返回n x 3张量 其中每列表示输入属于三个类别之一的概率 0 1 or 2 但
  • 运行基于 OpenMPI 的库时出错

    我已经从 Ubuntu 中可用的标准 apt get install 安装了 openmpi 库 我运行一个调用 MPI 库的 python 代码 我收到以下错误 任何想法错误的根源是什么 是 OpenMPI 配置错误吗 如何解决这个问题
  • 如何查看WTForms验证错误?

    我正在编写一些基本测试 但测试失败了 def test new user registration self self client get user register form RegistrationForm email u email
  • fopen:无法打开流:Mac 上的 PHP 中的权限被拒绝 [重复]

    这个问题在这里已经有答案了 我写了这段代码 if file exists testfile rtf echo file exists else echo file doesn t exist fh fopen testfile rtf w
  • 如何在 Swift 中写入 Google Sheets

    我正在尝试通过以下方式写入 Google Sheets 文档这个谷歌API 但我没有取得太大成功 我什至不确定我是否遵循了正确的 api 因为它显示 Appscript 并且看起来像 Swift 我已经能够使用以下方法从工作表中读取数据 p
  • 当工作线程工作时,UI 变得不稳定

    我有一个手写识别应用程序 用户用手指绘画 该应用程序识别字符 识别引擎在具有尽可能低优先级的工作线程中运行 Thread MIN PRIORITY 它是纯粹的CPU 内存算法 没有任何I O 不过 当线程正在积极工作时 用户界面会变得相当不
  • 人类可读的 type_info.name() [重复]

    这个问题在这里已经有答案了 我编译了以下代码g 并得到输出 该输出写在注释中 template
  • Laravel 4 - 没有可用的猜测者问题

    我收到此错误 LogicException 无法猜测 mime 类型 因为没有可用的猜测器 您启用了 php fileinfo 扩展吗 我已经启用了 php fileinfo 扩展并重新启动了 Wamp Web 服务器 但我仍然无法解决这个
  • AsyncTask Android 示例

    我正在读关于AsyncTask 我尝试了下面的简单程序 但这似乎不起作用 我怎样才能让它发挥作用 public class AsyncTaskActivity extends Activity Button btn Called when
  • Firebase Listener 在空闲时间后无法识别或恢复连接

    我的项目是识别客户端是在线还是离线 我使用 Android Firebase 文档中提供的代码 该代码使用 info connected 中的 EventListener since I can connect from multiple
  • 从字符串源列表动态生成最短的正则表达式

    我有一堆 SKU 库存单位 它们代表一系列字符串 我想创建一个正则表达式来匹配它们 举例来说 如果我有 SKU var skus new BATPAG003 BATTWLP03 BATTWLP04 BATTWSP04 SPIFATB01 我
  • 在 Swift 3 中访问代码错误

    Xcode 8 beta 4 中的新功能 NSError桥接到 SwiftError协议类型 这会在处理失败时影响 StoreKitSKPaymentTransactions 您应该检查以确保没有因为事务被取消而发生错误 以了解是否向用户显