将枚举案例的关联值提取到元组中

2024-03-31

我知道如何使用 switch 语句提取枚举案例中的关联值:

enum Barcode {
    case upc(Int, Int, Int, Int)
    case quCode(String)
}
var productBarcode = Barcode.upc(8, 10, 15, 2)

switch productBarcode {
case  let .upc(one, two, three, four):
    print("upc: \(one, two, three, four)")
case .quCode(let productCode):
    print("quCode \(productCode)")
}

但我想知道是否有一种方法可以使用元组提取关联值。

I tried

let (first, second, third, fourth) = productBarcode

正如预期的那样,它没有起作用。有没有办法将枚举案例的关联值转换为元组?或者这是不可能的?


您可以使用模式匹配if case let来提取 一个特定枚举值的关联值:

if case let Barcode.upc(first, second, third, fourth) = productBarcode {
    print((first, second, third, fourth)) // (8, 10, 15, 2)
}

or

if case let Barcode.upc(tuple) = productBarcode {
    print(tuple) // (8, 10, 15, 2)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将枚举案例的关联值提取到元组中 的相关文章

  • 将发布者组合分配给 PassthroughSubject

    我有以下 RxSwift 视图模型代码 private set var num BehaviorRelay
  • 将数据追加到 UITableView 的正确方法,swift

    我正在尝试使用两种方式将新数据添加到 UITableView 第一种方式 func insertData appendMessages Message var currentCount self messeges count var ind
  • 我可以/如何确定设备是否有振动?

    我有一些设置可以启用 禁用某些操作的振动 但我发现如果设备没有振动能力 则显示它们毫无意义 有没有办法检查用户是否正在使用 iPod touch 以及它是否有振动 我不确定除了进行模型检查之外还有其他方法可以做到这一点 这可能不是一个很好的
  • iOS游戏大小问题[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我开发了一款 iOS 通用游戏 我想
  • Xcode 5 - clang:错误:链接器命令失败,退出代码 1(使用 -v 查看调用)

    I am facing a linker error when running my source code I have attached a screenshot also I am new in iOS development and
  • didReceiveRemoteNotification 未调用,iOS 10

    在 iOS 9 3 中 didReceiveRemoteNotification方法在以下两种情况下都会被调用 1 收到推送通知时 2 当用户通过点击通知启动应用程序时 但在 iOS 10 上 我注意到didReceiveRemoteNot
  • 如何在 Objective C 中创建 json 字符串?

    我必须动态生成一个 json 字符串并需要发送到服务器 有谁知道如何使用NSJSONSerialization 下面是我的字符串 surveyid Survey1 responsetime dd mm yyyy hh mm ss locat
  • dyld:未找到符号:___NSDictionary0__ 在 XCode 7 和 iOS 目标 9.0 中使用带有发现文档的 google ServiceGenerator 二进制文件时

    我正在尝试使用 Google 从 Google 后端生成客户端 API 代码serviceGenerator以发现文档作为输入 以下是确切的命令 Users raja Library Developer Xcode DerivedData
  • 是否可以在 iOS 上确保 oauth 安全?

    是否可以在 iOS 上确保 oauth 安全 我正在调查OAuth 2 0 http tools ietf org pdf draft ietf oauth v2 12 pdf作为一种为 iOS 应用程序 套件 实现单点登录 授权的方法 为
  • 使 MKMapView 只放大 centerCoordinate 吗?

    我有一个始终位于地图中心的 MKPinAnnotationView 平移和缩放时 该图钉为我提供了地图的中心坐标 纬度 经度 目前 当您放大时 它只会放大您指定地图放大的位置 我真的很想将变焦锁定在图钉上 关于我如何实现这一目标有什么想法吗
  • 在 Grand Central Dispatch 中使用dispatch_sync

    任何人都可以用非常清晰的用例解释其目的是什么dispatch sync in GCD是为了 我不明白在哪里以及为什么我必须使用它 Thanks 当您想要执行一个块并等待结果时可以使用它 其中一个示例是使用调度队列而不是锁进行同步的模式 例如
  • Health 处理多个步骤源的方式与 HealthKit 不同——swift

    我的 Swift iOS 应用程序与 HealthKit 连接 向用户显示他们当天到目前为止已经走了多少步 在大多数情况下 这是成功的 当步数的唯一来源是 iPhone 内置计步器功能记录的步数时 一切正常 并且我的应用程序显示的步数与健康
  • 跨平台 IAP

    我已在 iOS 和 Android 中集成了应用内购买 自动续订订阅 两者都工作正常 我对使用跨平台验证 IAP 有一定的疑问 例如 当多个用户登录一个应用程序时 某一特定应用程序的订阅如何运作 例如 如果用户 A 有标准套餐并且从应用程序
  • 动态获取协议的字符串表示形式

    我正在寻找一种从协议类型动态获取协议名称的方法 而不必使用 objc协议声明中的属性 我知道这有效 func keyForProtocol aProtocol Protocol gt String return NSStringFromPr
  • 使 UITableView 中的动态更新内容可供 VoiceOver 访问

    我正在努力让我的应用程序更易于访问 到目前为止 标签和提示等标准可访问性正在创造奇迹 然而 我在动态更新 UITableView 中显示的内容时遇到了问题 表的每一行大约每秒更新一次 但如果我尝试在此时创建每个单元格的accessibili
  • Haskell - 交替两个列表中的元素

    我正在尝试编写一个 haskell 函数 它接受两个整数列表并生成一个列表 其中包含从两个列表中交替获取的元素 我有这个功能 blend xs ys 一个例子 blend 1 2 3 4 5 6 应该返回 1 4 2 5 3 6 我的逻辑是
  • Swift 2.1- tabBarController!.selectedIndex 返回大整数

    我需要把tabBarController selectedIndex常量内的数字 我期望一个介于 0 和 3 之间的数字 具体取决于我选择的选项卡 但我得到的数字如下2147483647 有什么想法吗 代码是 let selectedTab
  • 使用 NSXMLParser 在 Swift 中解析分层 XML

    我确实在以我实际可以使用的形式获取分层 XML 值时遇到问题 因此我们将不胜感激 我对 Swift 和 IOS 开发还很陌生 所以说实话我并不完全理解解析器 但我希望在这之后我能理解 下面是我尝试解析的示例 XML 它来自肥皂网络服务 连接
  • 为 CocoaPods 插件设置 Xcode

    我正在尝试设置终端 Xcode 以便正确工作Xcode CocoaPods 插件 https github com kattrali cocoapods xcode plugin 当我从插件运行集成 cocoapods 选项时 我收到一条消
  • Xcode 8.3 / Xcode 9.0 刷新配置文件设备

    我添加了一些新设备 当 Xcode 8 自动管理签名资产时 如何刷新配置文件 我发现了这个问题 刷新 Xcode 7 管理的团队配置文件中的设备 https stackoverflow com questions 32729193 refr

随机推荐