带有存储枚举的条件枚举开关

2024-01-25

我希望这段代码能够工作。

我有一个枚举,其中 Direction.Right 的情况采用距离参数。

enum Direction {
    case Up
    case Down
    case Left
    case Right(distance: Int)
}

现在另一个可以采用 Direction 参数的枚举。

enum Blah {
    case Move(direction: Direction)
}

let blah = Blah.Move(direction: Direction.Right(distance: 10))

当我打开Blah枚举我希望能够有条件地打开 Move.Right 像这样......

switch blah {
case .Move(let direction) where direction == .Right:
    print(direction)
default:
    print("")
}

但我收到错误...

二元运算符“==”不能应用于“Direction”和“_”类型的操作数

有没有办法做到这一点?


这实际上很简单:)

    case .Move(.Up):
        print("up")
    case .Move(.Right(let distance)):
        print("right by", distance)

你的代码

    case .Move(let direction) where direction == .Right:

无法编译,因为==默认情况下仅定义为 枚举without相关值。

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

带有存储枚举的条件枚举开关 的相关文章

  • Swift 中的弹出视图

    我有一个弹出视图 没有选项卡栏 它弹出到带有选项卡栏的视图控制器 在带有选项卡栏的视图控制器中 我设置了一个单击按钮 以便弹出视图控制器 IBAction func PopUpClicked sender UIButton gt Void
  • 应用程序图标未刷新

    我更改了新版本应用程序中的图标图像 并且我在设备中安装了旧版本应用程序 然后我安装了新版本 它在 iOS 5 中运行良好 但在 iOS 6 中 图标没有刷新 它仍然显示旧版本图标 徽标 如果没有安装旧版本应用程序 该设备在 iOS 5 和
  • iOS Swift 检测键盘事件

    我能以某种方式检测来自 iOS 键盘的事件吗 我想检测此类事件UIViewController哪个没有UITextField或任何此类物体 我只有四个圆圈UIView我想在按下键盘上的按钮时将它们涂成不同的颜色 您没有任何对象可以从键盘获取
  • 新的 FUITableViewDataSource - 如何使用?雨燕3

    刚刚更新到较新的 FirebaseUI Pod 有些事情发生了变化 但其中最大的变化之一是 FUI 表视图的工作方式 我让它在旧版本上运行良好 但在下面遇到了困难 并且缺乏文档 示例 self dataSource FUITableView
  • 如何等待 webViewDidFinishLoad 完成

    我有一个初始化 webView 的布尔条件 并在 webViewDidFinishLoad 中加载另一个委托 以便在完成完成后触发 但是 由于布尔值在条件 webViewDidFinishLoad 之前返回 因此页面永远不会完全加载 如何确
  • 使用 UIActionSheet 更改视图时工具栏项目消失

    当从 a 启动视图时UIActionSheet按钮 通过导航栏后退按钮返回视图后 工具栏虽然仍然可见 但上面没有任何以前的按钮 自从更新到 iOS 6 以来 这个错误就出现了 并且是在模拟器和仅运行 iOS 6 的设备上测试时发生的 如果我
  • 如何在我的 iOS 项目中添加和执行 .sql 文件?

    我找到了很多关于在 iOS 中使用 SQLite 数据库的教程 但没有找到任何直接引用 sql 文件的内容 谁能告诉我如何将现有的 SQL 数据库链接到我的应用程序 编辑 这是一个 MySQL 转储 我们有一个基于浏览器的抽认卡程序 现在我
  • iOS 外部附件框架:如何获取特定 MFI 设备的协议字符串

    我正在编写一个 iOS 应用程序 用于与 mini mPlay Drumi MP18B 小型蓝牙扬声器 进行通信 据我所知 showBluetoothAccessoryPickerWithNameFilter仅显示协议字符串添加到 Info
  • WebGL iOS 渲染为浮点纹理

    我正在尝试在 iOS Safari 上的 WebGL 中渲染浮点纹理 而不是在本机应用程序中 我已经设法让 iOS 读取手动 例如从 JavaScript 创建的浮点纹理 但是当我创建浮点类型的帧缓冲区并使用 GPU 渲染到其中时 它不起作
  • UIBezierPath 的起始和结束角度?

    我在 iOS 中使用如下代码编写了半圆UI贝塞尔路径 and CAShape层 clockWiseLayer CAShapeLayer alloc init CGFloat startAngle M PI 2 CGFloat endAngl
  • 从 RemoteIO 保存音频的示例?

    我进行了搜索 但没有找到任何从 RemoteIO 音频单元保存音频的好示例或教程 我的设置 使用 MusicPlayer API 我有几个 AUSamplers gt MixerUnit gt RemoteIO 音频播放效果很好 我想添加将
  • 在 angular2 视图模板中传递枚举

    我们可以在 angular2 视图模板中使用枚举吗 div class Dropdown div 传递字符串作为输入 enum DropdownType instrument account currency Component selec
  • 从 Core Data、iOS 获取最后插入的项目

    有没有办法获取核心数据数据库中最后插入的项目 这将返回最后插入的对象 setFetchLimit 1 和 setFetchOffset 所有条目数 1
  • 如何在 Xcode 4 中通过一个操作归档多个目标

    我有一个包含多个目标的项目 这些目标都适用于不同的 iOS 应用程序 例如 一个用于精简版的目标 另一个用于专业版的目标 我想立即构建并归档我的所有应用程序 目前 我对每个目标都有一个方案 我用它来独立归档每个应用程序 但现在我必须开始归档
  • Cognito/IAM 策略和 S3 获取对象

    我正在尝试将 S3 和 Cognito 集成到我的 iOS 应用程序中 但到目前为止尚未成功 我相信该错误与我针对 Auth 和 Unauth 用户的 IAM 策略有关 所以这是我的政策 Version 2012 10 17 Stateme
  • 如何在 EKRecurrenceRule 中设置一周中某一天的数组?

    我想在用户选择的特定日期每周添加事件 可以是一个或多个 也可以是一整天 我将用户选择的日期值存储在模型类变量中 但是 当我添加事件并选择日期时 假设今天是星期一 我选择星期二和星期三并保存 然后我查看周一和周三添加的 iPhone 日历 我
  • iOS 发送 iMessage 尽可能简单

    我希望能够以编程方式发送 iMessage 除了调用一个将文本发送到带有消息的号码的函数之外 无需执行任何其他操作 这两个消息都是文本框 我真的很感激一些示例代码 因为我在网上搜索过 但我发现没有任何帮助 这不适用于商业应用程序 仅适用于我
  • 如何在 Swift 语言中传递错误指针?

    我试图在 swift 中传递错误指针 但无法这样做 编译器抱怨 NSError 无法转换为 NSErrorPointer var error NSError NSError var results context executeFetchR
  • 当设置 setVisibleXRangeMaximum 时,iOS-Charts X 轴值无限重复

    我正在尝试绘制一个图表 其中 x 轴是TimeIntervalY 轴是power consumption 由于每天都会有数据 因此将有太多数据无法显示 因此 我想一次显示 5 个值 我通过设置实现了这一点self chart setVisi
  • 通用类不会将委托调用转发给具体子类

    鉴于以下情况 protocol EntityType var displayString String get extension String EntityType var displayString String return self

随机推荐

  • 两对多的数据关系是否应该被视为多对多?

    我有 2 个数据库表 Teams 和 Games 出于此问题的目的 我们正在处理足球队和比赛 每场比赛只有两支球队 通常是主队和客队 但有时两支球队都可以保持中立 我的问题是我是否应该使用 Games 表中的 2 个外键 home team
  • 两个内容提供商访问同一个数据库

    Hi all 我想知道如果希望两个完全不同的 Android 应用程序访问和操作同一个数据库 是否存在一种普遍首选的实现范例值得尊重 是否建议甚至技术上可以这样做 这样的架构会是什么样子 截至目前 我正在考虑让这两个应用程序实现自己的Con
  • WPF 无法从 url 检索 WebP 图像?

    我无法从网址检索图像 以前 在设置 HttpClient 标头之前 我根本无法连接到该站点 我可以从其他来源检索图像 但不能从这个特定来源检索图像 检索图像的代码 var img new BitmapImage img BeginInit
  • C# 中的“this[0]”是什么意思?

    我正在浏览一些库代码并看到如下方法 public CollapsingRecordNodeItemList List get return this 0 as CollapsingRecordNodeItemList 包含此方法的类不是列表
  • 调试时在 Visual Studio 2019 中将代码设置为只读

    当我使用 Visual Studio 2017 时 我的代码是只读的 直到我点击 全部中断 或断点 我很确定这是开箱即用的 无需我更改任何选项 我正在讨论使用 C 和编辑并继续进行 Windows 桌面开发 在 2019 年 我总是能够更改
  • 在具有完整日历功能的事件框中设置每种不同的颜色

    我在完整日历功能中设置每个事件框中的颜色时遇到问题 目前 我只能在 fc daygrid event dot 中设置 我可以知道如何设置每个事件框中的背景颜色吗 下面是我的编码 document addEventListener DOMCo
  • PyGame-角色离开屏幕

    我正在尝试用 pygame 制作游戏 但我不知道如何防止我的角色离开屏幕 设置限制 我有一个由用户输入控制的 png 图像 但角色可能会正常离开可见屏幕区域 我不知道该怎么做 我在窗户周围画了一个矩形 pygame draw rect 但我
  • 如何从 Java 中的 .dat 文件中读取一行,然后需要将其分隔开?

    我正在尝试在 TextPad 中使用 Java 读取 dat 文件 dat 文件有多行代码 但每一行都有单独的信息 我的主方法和对象类中的不同方法需要这些信息 如何分离文件中提供的信息并将单独的部分输入到我的任何类中 我知道如何从 t xt
  • 处理空的 UITableView。打印友好消息

    我有一个 UITableView 在某些情况下 为空是合法的 所以而不是显示 应用程序的背景图像 我更愿意在屏幕上打印一条友好的消息 例如 该列表现在为空 最简单的方法是什么 UITableView 的backgroundView 属性是你
  • Jquery - 如果页面已加载

    是否有任何技巧如何在 javascript 中启动一个函数 该函数在页面完全加载时启动 如果您指的是 HTML 文档加载后 请使用ready event document ready function 或者简写 function 如果您的意
  • 提交消息正文中是否允许使用特殊字符?

    我在提交消息的正文中使用了特殊字符 例如 和或 这是允许的还是我应该仅使用文本 我没有找到真正的 answear 而且我不想弄乱我的 github 历史记录 所以 answear 真的会帮助我 git 提交消息中唯一不允许的字符是 NUL
  • Android AltBeacon库:如何找到信标布局?

    我正在使用一种新型信标进行测试 这是我从调试中得到的结果 onScanResult ScanResult mDevice 20 73 2A 09 3E 41 mScanRecord ScanRecord mAdvertiseFlags 26
  • 如何重建表以释放已删除的旧列所使用的空间

    我有一个 MSSQL 聚集索引 我想重建它 因为我删除了一些列并且我想释放空间 在文献中 我读到 对于堆 你可以写 ALTER TABLE myHeap REBUILD 对于聚集索引 ALTER INDEX IX myIndex ON my
  • 如何连接到 LocalDb

    我使用 SqlLocalDb msi 包安装了 LocalDb 并且可以使用服务器名称使用 SSMS 连接到它 LocalDb v11 0 到目前为止 一切都很好 问题是 当我尝试通过 NET 4 5 应用程序连接到它时 出现错误 服务器未
  • 将动态创建的行中的数据保存到数据库

    我正在使用 Codeigniter 我创建了一个包含不同列的表 我想在单击 按钮时动态创建行 现在我可以使用 jquery 创建行 我想将数据保存到数据库中 当我单击 按钮时 如何将每行的值保存到数据库中 您可以对此使用ajax请求 首先当
  • 如何让在一个进程上运行的参与者向在单独进程上运行的另一个参与者发送消息?

    我想让运行在不同进程 或节点 上的参与者向运行在不同进程 或节点 上的其他参与者发送消息 同时保持容错和负载平衡 我目前正在尝试使用 Akka Cluster 的分片功能来完成此任务 但是 我不确定如何实现这一点 我有以下反映我的种子节点的
  • 致命错误:对 Swift 类使用未实现的初始化程序“init()”

    我正在使用 Markdown TextView 1 将基本 Markdown 添加到UITextView The TextView是一个子类MarkdownTextView 但是 当使用复制和粘贴时 出现以下错误 致命错误 对类使用未实现的
  • Unix 上的递归 mkdir() 系统调用

    阅读具有该名称的 Unix 系统调用的 mkdir 2 手册页后 该调用似乎不会在路径中创建中间目录 而只会在路径中创建最后一个目录 有没有什么方法 或其他函数 可以创建路径中的所有目录 而无需手动解析我的目录字符串并单独创建每个目录 不幸
  • powershell远程处理:非常慢

    如果我从solaris服务器ssh到美国服务器 ssh连接速度非常快 比如删除一个文件很快就能完成 但是为什么powershell远程处理这么慢 我进入远程会话后 然后删除一个项目 需要10多秒才能完成 Enter PSSession co
  • 带有存储枚举的条件枚举开关

    我希望这段代码能够工作 我有一个枚举 其中 Direction Right 的情况采用距离参数 enum Direction case Up case Down case Left case Right distance Int 现在另一个