引用分支中switch语句的值

2024-01-20

Swift 有没有办法引用我在分支中打开的值?例如:

switch UIDevice.current.userInterfaceIdiom {
  // cases
  default:
    fatalError("User interface idiom \(value) is not supported")
}

我正在考虑类似于隐含的东西error里面参考catch block:

do {
  // ...
} catch {
  print(error) // 'error' is defined implicitly
}

当然,我可以自己创建一个变量,但我想避免这种情况。


没有内置变量,但您可以使用以下命令轻松捕获自己的值case let图案:

switch UIDevice.current.userInterfaceIdiom {
  // cases
case let value:
    fatalError("User interface idiom \(value) is not supported")
}

注意:这将匹配任何内容,因此它会替换default这应该是最后一个案例case在你的switch.


您可以使用where子句允许捕获除一切:

switch 1 + 2 * 3 {
case let value where 0...9 ~= value:
    print("The value \(value) is a single digit value")
case let value:
    print("\(value) is not a single digit value.")
}

但在这种情况下,只需将值分配给之前的变量会更容易switch.

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

引用分支中switch语句的值 的相关文章

  • xcode 6.1 (Swift) 中的 SIGABRT 运行时错误

    与最初的代码相比 唯一的更改是在ViewControl swift override func viewDidLoad newMessage hidden true super viewDidLoad Do any additional s
  • NSPredicate 的 onFormat 字符串

    我想用 id 键对数据进行排序 我如何理解格式字符串的用途NSPredicate格式 我有一个100号的帖子 我的代码 let objectIDs posts map 0 id let predicate NSPredicate forma
  • 退出导航控制器

    我试图离开初始视图控制器 并进入空白视图控制器 这很好 但是这会使空白视图控制器也成为导航控制器的一部分 这不是我想要的 我想脱离视图控制器 在视图控制器中 我尝试退出 它会自行弹出 当我尝试视图中的方法时 将出现目标视图控制器 self
  • ResponseSerializer“无法使用 Swift 3 调用非函数类型“NSHTTPURLResponse”的值?

    我一直在使用以下代码 没有出现任何问题 直到更新到 Xcode 8 beta 6 它类似于这个例子 https github com Alamofire Alamofire generic response object serializa
  • Obj-C / Swift 项目中的致命陷阱异常

    我开始将 Swift 代码集成到我的 Obj C 项目中 一切都进展顺利 但今天 当我更新到 Xcode 6 1 时 事情变得很糟糕 我从之前运行良好的 Swift 代码中收到了许多 陷阱 异常 第一次崩溃位于我的 UIFont 扩展中 这
  • 在 swift 中获取 NSImage 的 PNG 表示

    嘿 我在获取 NSImage 对象的 PNG 表示时遇到了一些问题 这就是我正在做的 var imgData NSData coverImgView image TIFFRepresentation var bitmap NSBitmapI
  • 测试文本字段中的 double 是否有值

    尝试检查从文本字段获得的双变量是否有值 让值 双倍 Double valueTextfield text if value isEmpty X if 值 nil X 如果 值 0 X 我该怎么做呢 您可以使用 Double 的 init 方
  • Swift - 预期 '{' 启动 setter 定义

    我正在关注高级 swift WWDC 2014 视频 使用类上的下标来委托给类属性 但使用与视频中相同的语法时出现错误 enum Direction case North South East West class Place Thing
  • 快速将阴影绘制到 uibezierpath

    我有一个奇怪的问题 尽管我确实阅读了很多有关如何执行此操作的教程 但最终结果仅显示贝塞尔线 而不显示任何阴影 我的代码非常简单 let borderLine UIBezierPath borderLine moveToPoint CGPoi
  • WKWebView:无需 Javascript 即可缩放PageToFit 行为

    如何获得scalesPageToFit显示在 HTML 内容中的行为WKWebView 不使用 JavaScript 在我们的例子中需要禁用 JS 抱歉没有发布任何代码 但我不知道如何实现这一目标 我所知道的和我找到的所有解决方案都是基于J
  • AudioPlayer 和锁屏/控制中心控制 Swift [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我是斯威夫特的新手 我写信是因为我想问一个问题 我和我的朋友正在开发一个音频播放器 但我们遇到了问题 播放器还可以在后台
  • Swift 在调试和发布模式下的行为不同

    不确定这是否是 Swift XCode 或 Alamofire 的问题 但我认识到我的混合 Swift Objc 应用程序中不同地方的奇怪行为 它只发生在用 Swift 编写并使用闭包 网络的部分 这是发生这种情况的示例代码 Alamofi
  • 快速重写函数错误

    我有一个结构 struct ErrorResultType ErrorType var description String var code Int 和一个协议 protocol XProtocol func dealError erro
  • 如何禁用导航控制器(Swift)内特定视图控制器的自动旋转? [复制]

    这个问题在这里已经有答案了 上面根本没有答案 在导航控制器内的特定 不是全部 视图控制器禁用自动旋转时遇到问题 类似的问题并不涉及禁用特定视图控制器的自动旋转的能力 而是涉及禁用导航控制器内所有视图控制器的自动旋转的能力 我的导航控制器包含
  • Swift 和 inout 参数中闭包的变量捕获

    我注意到 当 Swift 中的闭包捕获变量时 闭包实际上可以修改该值 这对我来说似乎很疯狂 也是一种获得可怕错误的绝佳方法 特别是当同一个 var 被多个闭包捕获时 var capture Hello captured func g thi
  • 依赖于 pod 的 Swift 通用框架

    我正在开发一个依赖于 Alamofire 的小型 Swift 框架 我将它用作属于同一工作区的应用程序的嵌入式框架 并且它运行良好 当我想构建一个具有总体目标的通用框架时 问题就出现了 然后 当执行脚本生成框架时 它失败并显示消息No su
  • 访问 UserDefault 数组 URL 以填充 CollectionView

    这是上一篇文章的后续内容here https stackoverflow com questions 48142238 save and append an array in userdefaults from imagepickercon
  • 在 Swift 中将半精度浮点数(字节)转换为浮点数

    我希望能够从二进制文件中读取半浮点数并将它们转换为 Swift 中的浮点数 我查看了来自其他语言 例如 Java 和 C 的几种转换 但是我无法获得与半浮点相对应的正确值 如果有人可以帮助我实施 我将不胜感激 从 Float 到 Half
  • iOS 9 中可滑动的表格视图单元格

    我希望我的表格列表具有像 iOS 8 中那样的可滑动菜单 首次在 iOS 7 中引入 我找到了清晰的 Ray Wenderlich 指南 http www raywenderlich com 62435 make swipeable tab
  • Swift :基于 nsdate() 解析、查询日期字段

    我正在尝试检索今天添加的记录进行解析 但查询不返回任何结果 我怎样才能让查询返回基于今天日期的结果 let now NSDate var query PFQuery className userBids query whereKey dat

随机推荐

  • 每个RAILS_ENV运行多个delayed_job实例

    我正在开发一个具有多个 RAILS Env 的 Rails 应用程序 env name1 adapter mysql username root password host localhost database db name 1 env
  • Java 到 C# 的转换。如何在位图上绘制矩形?

    首先 我对 C 和 Java 都是菜鸟 因此 我被分配了将 java 小程序转换为 C 的任务 除了使用鼠标事件通过拖放在屏幕上绘制矩形之外 我还成功完成了所有操作 应该发生的情况是 当我单击鼠标并在屏幕上拖动鼠标时 应该会出现一个没有填充
  • 应用程序应该如何响应延迟的 SKPaymentTransaction?

    我的应用程序中有应用内购买 iOS 8 的新功能是 延迟 交易 部分描述见技术说明 https developer apple com library ios technotes tn2259 index html 我了解它的作用 并且我不
  • 让 Rails 2.3.x 忽略 i18n gem

    我有一个 Rails 2 3 5 项目 它使用 Rails 的本地化功能 我也碰巧安装了 Rails 3 beta 这取决于 i18n gem Rails 2 3 5 很乐意自行处理本地化 无需安装 i18n 但是如果 i18n gem 可
  • 如何根据物体位置旋转图像?

    首先 对帖子的长度表示抱歉 我正在开展一个根据叶子图像对植物进行分类的项目 为了减少数据的方差 我需要旋转图像 以便茎在图像底部水平对齐 270 度 到目前为止我在哪里 到目前为止 我所做的是创建一个阈值图像 然后从那里找到轮廓并在对象周围
  • 如何在预测数据上使用 Pandas get_dummies?

    使用熊猫后get dummies在 3 个分类列上获得一个热编码数据框 我训练了 取得了一些成功 感知器模型 现在我想根据新的观察来预测结果 它不是热编码的 有什么办法可以记录get dummies列映射要重新使用吗 据我所知 目前没有自动
  • 如何让一张表只允许一行?

    我有一张我想要的桌子只有一项 因此 如果有人尝试插入另一行 则只有在有人删除了先前存在的行之后才允许插入另一行 如何为这样的表设置规则 A UNIQUE约束允许多行null值 因为两个null值不被认为是相同的 除非使用时NULLS NOT
  • MATLAB:将图形打印为 pdf,如 MATLAB 中所示

    我正在尝试将图形导出 另存为 打印 为 pdf 格式 然而 无论我如何配置设置 图形周围都有很大的边距 当我将图形导出为 eps 格式时 不存在这样的问题 即图形看起来就像在 MATLAB 中显示的一样 如何将图形导出为 pdf 格式 使其
  • cmake:每个事务单元的编译统计信息

    我需要弄清楚哪些翻译单元需要重组以缩短编译时间 如何使用 cmake 掌握翻译单元的编译时间 以下属性可用于计算编译器和链接器调用的时间 规则 启动 编译 https cmake org cmake help v3 4 prop gbl R
  • 如何检查两个值是否是使用同一个构造函数创建的?

    假设我有 type t A of int B of int let xx A 2 let yy A 3 我想测试 xx 和 yy 的构造函数是否相等 是否有捷径可寻 而不必 match xx with A gt match yy with
  • 如何在反应中的文件选择器中获取文件名?

    你能告诉我如何在反应中的文件选择器中获取文件名吗 我试图在选择文件后在输入字段中设置值file chooser这是我的代码https stackblitz com edit react d4kp1d file bulk js https s
  • 如何混合 Singleton 来创建一个接受初始化参数的类?

    我已经了解了如何将类定义为单例 如何在 Ruby 中创建单例 https stackoverflow com questions 4677 how do i create a class using the singleton design
  • 如何通过自动布局功能使 TableView 高度动态化?

    我在 Xcode 5 中使用自动布局 我将表视图的高度设置为大于或等于 200px 我希望它具有动态大小 因为有时它会有很多行 有时它会有几行 但尺寸始终为 200px 如果内容大于此值 我应该向下滚动以查看下面的行 What should
  • 获取连接到服务器的在线用户的名称

    我是 ASP NET 新手 我经历过这个link http www aspdotnetfaq com Faq How to show number of online users visitors for ASP NET website a
  • 从通知可分割对象中读取内容以进行后续通知

    我正在尝试构建 Whatsapp 通知过滤应用程序 在其中监视来自 Whatsapp 的所有通知并根据过滤策略删除消息 我可以使用下面的链接代码获取消息内容从 Parcelable contentView 或 contentIntent 中
  • 自动验证 htaccess (401) 用户名​​密码登录

    我有一个网页 每 5 分钟刷新一次 其中包含客户详细信息 我通过基本和标准 htaccess 和 htpassword 文件类型登录系统向其添加了用户名密码 因为文件的一部分包含公司数据 但我需要在我的工作电脑上打开相同的网页 该电脑是连接
  • 为什么需要在 ERD 中指出识别或非识别关系?

    在 ERD 中 弱 非识别关系是连接两个强实体的关系 并用虚线表示 强 标识关系是将强实体连接到弱实体的一种关系 弱实体是包含来自其相关实体的外键 FK 作为其自身主键 PK 的组成部分的关系 并指示通过实线 我的问题是 所以呢 为什么区分
  • Click() 方法并不总是有效

    我在 Selenium WebDriver 中进行测试时遇到问题 这Click当程序尝试单击按钮时 事件并不总是有效 在一项测试中一切正常 而在其他测试中则不然 每个测试都从一页开始 首先 用户必须从一个选项中选择一个select组件 然后
  • 检查文件扩展名

    我正在使用以下 PowerShell 代码 我需要在 if 条件下检查其扩展名 foreach line in lines extn line Split 1 if extn eq xml 有没有一种简单的方法来检查 PowerShell
  • 引用分支中switch语句的值

    Swift 有没有办法引用我在分支中打开的值 例如 switch UIDevice current userInterfaceIdiom cases default fatalError User interface idiom value