Swift 中有一个具有多种类型的变量

2024-03-20

我想要一个变量,它可以有多种类型(只有我定义的类型),例如:

var example: String, Int = 0
example = "hi"

该变量应该只能保存 Int 和 String 类型的值。

这可能吗?

感谢您的帮助 ;)


您可能正在寻找“具有关联值的枚举”:

enum StringOrInt {
    case string(String)
    case int(Int)
}

您可以分配一个字符串或一个整数:

var value: StringOrInt
value = .string("Hello")
// ...
value = .int(123)

检索内容是通过 switch 语句完成的:

switch value {
case .string(let s): print("String:", s)
case .int(let n): print("Int:", n)
}

如果您声明遵守Equatable那么协议 您还可以检查值是否相等:

enum StringOrInt: Equatable {
    case string(String)
    case int(Int)
}

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

Swift 中有一个具有多种类型的变量 的相关文章

  • iOS WKWebView 处理文件下载

    我面临以下问题 在 Web 界面中 文件下载是通过锚标记触发的 如下所示 a href bla blabla a 虽然 Safari 浏览器可以处理此请求并打开一个对话框来处理文件 但 WKWebView 将此视为普通链接并且不对其执行任何
  • UITesting、XCTest 当前 ViewController 类

    简单的问题 我有一个按钮可以执行到下一个视图控制器的操作 我想写 UI XCTest 来告诉我它是否打开了我想要的视图控制器 UI 测试框架无法访问您的应用程序代码 这使得无法对实例进行类断言 你不能够directly告诉屏幕上的控制器的类
  • IDFA 使用不当,您的应用不遵守 ios 中的限制广告跟踪设置

    I have checked the iTC settings I have uploaded the same app 2 days ago and it works fine but when today I uploaded the
  • 使用自动布局、IB 和字体大小时表头视图高度错误

    我正在尝试为我的 uiTableView 创建一个标题视图 不是节标题 我已经有了 我已经在界面生成器中设置了一个 XIB 所有的连接都已连接好并且运行良好 除了桌子没有给它足够的空间 我的问题是表格顶部与表格标题有一点重叠 我的 XIB
  • Swift:检查 UISearchBar.text 是否包含 url

    如何检查 UISearchBar text 是否包含 URL 我想做这样的事情 if searchBar text NSTextCheckingType Link 但我收到错误 String is not convertible to NS
  • 如何编辑应用程序包中的文件?

    在我的应用程序中 我从存储在捆绑资源中的 CSV 文件加载数据 但是 我希望能够在用户点击 更新 按钮时以编程方式更新此文件 有没有办法以编程方式更改应用程序包中的资源 这是我用来访问该文件的代码 NSString path NSBundl
  • Apple Developer 应用程序门户不再可以生成新的 Bundle Seed ID

    iOS 开发者门户中的新界面不再为您的应用程序 ID 提供 生成新的 按钮 取而代之的是 使用团队 ID 这将导致使用相同的种子 ID 任何人都知道为什么要进行更改以及您应该如何使用新的捆绑包种子 ID 随意补一些 不再可能生成新的种子 I
  • 针对 iOS 10.3 进行编译,但模块“SwiftUICharts”的最低部署目标为 iOS 13.0

    知道如何仅在 iOS 版本超过 iOS 13 时导入 SwiftUICharts 框架吗 我通过 文件 gt Swift 包 gt 添加包依赖项 添加了此框架 我的应用程序目标必须是 iOS 10 我将此框架导入到 swiftui 控制器中
  • 是否可以使用UIPageControl来控制UITableView的移动?

    从Apple示例 PageControl 中我们可以知道UIPageControl可以用来控制scrollview中页面的移动 由于 UITableView 是 UIScrollView 的子类 我想使用 UIPageControl 来控制
  • 在 JavaScript 中检测页面是否加载到 WKWebView 中

    如何使用 javascript 可靠地检测到页面已加载到 WKWebView 中 我希望能够检测到这些场景 iOS 和 WKWebView iOS 和 Safari not iOS 关于 UIWebView 有一个类似的问题here htt
  • 在 UITableViewController 中重新排序行后 UI 更新不正确

    因此 我对表中的行重新排序 用户界面最终结果不正确 场景如下 表内容原文 a b c d e 如果我移动第 0 行 当前a 到第 4 行 当前e 我看到的最终结果是 c d e a a 一些背景 该表正在读取 Realm 对象的列表 我确认
  • 带约束的嵌套集合视图的意外行为 (Swift 4)

    我的表格视图中有一个单元格 其中包含水平分页集合视图 该集合视图的每个页面内都有一个垂直集合视图 为了避免 滚动滚动 问题 我在垂直集合视图中禁用了垂直滚动 垂直集合视图的单元格计数不是静态的 可以是任意数字 因此 这会产生一个问题 集合视
  • 访问 google reader 的 Endpoints API 时出错

    我正在尝试在iPhone APP中实现google reader 到目前为止我已经成功收到了sid and auth 当我尝试使用以下命令调用 Endpoints API 时 问题就出现了GET 这是代码 ASIHTTPRequest re
  • 如何将CIFilter应用到UIView上?

    根据Apple docs 过滤属性CALayer不支持iOS 当我使用正在申请的应用程序之一时CIFilter to UIView即 Splice Funimate 和 Artisto 的视频编辑器 Videoshow FX 这意味着我们可
  • xcode 9.0.1 / swift 4,没有使用 Objective-C 选择器 'onClick:forEvent:' 声明的方法 [重复]

    这个问题在这里已经有答案了 I use swift 4为了构建我的 UI 我创建了一个UIButton并想为其添加一个目标 但编译器会抛出警告 No method declared with Objective C selector onC
  • Swift:协议、结构、类

    我开始学习 Swift 语言 但在理解协议 结构和类方面遇到了困难 我来自 Android 方面的编程 所以我相信 Swift 协议基本上是 Java 接口 其中每一个的正确用例是什么 这些类比并不 完全 正确 但这就是我所理解的要点 是的
  • 循环多个 UIAlertController

    在某些情况下 我的应用程序需要显示多个警报消息 错误消息在启动时收集 并且需要一次向用户显示一条 当第一个被确认后 应该呈现下一个 问题在于 显然 它们都试图同时执行 有没有一种聪明的方法可以同步执行此操作 这是一些简单描述我想要做的事情的
  • cameraOverlayView 防止使用 allowedEditing 进行编辑

    在我的应用程序中 使用以下行在拍摄照片后对其进行编辑 移动和缩放 效果很好 imagePicker setAllowsEditing YES 但如果我还使用cameraOverlayView 则编辑模式将不再起作用 屏幕出现 但平移和捏合手
  • iOS Swift 和 reloadRowsAtIndexPaths 编译错误

    我与 xCode Swift 陷入僵局并刷新 UITableView 的单行 这条线有效 self tableView reloadData 而这条线没有 self tableView reloadRowsAtIndexPaths curr
  • 领域:结果 和列表

    是否可以转换Results

随机推荐

  • jQuery 自动完成:点击返回提交表单

    我正在使用 jQuery 自动完成插件 I m not sure if there s a better way to do this var base url window location href slice 0 window loc
  • Volley 不发送带参数的 post 请求。

    我有下面的代码 Google 的 Volley Library 来向我的 php 服务器发送 POST 请求并获取结果信息 我没有检查就尝试了代码isset POST id 在 php 中并且代码运行良好 当我开始检查时 php 将跳过 i
  • 选择放置在另一个元素之后但不是立即放置的第一个元素

    怎么可能选择仅第一个元素 例如 h2 在另一个元素 例如 h1 之后 但它是不一定立即放置在 因此 element element 例如 h1 h2 不起作用 因为它选择放置的元素立即地元素之后 h1 Title1 h1 lt many t
  • jQuery 验证触发错误消息

    我有一个有点奇怪的问题 我想在元素上触发 jquery 验证错误消息 即使它是有效的 设想 我有一个大表格 输入之一是 PersonalId 可以选择输入该 PersonalId 除了该输入之外 我还有一个普通按钮 不是提交按钮 如果您单击
  • 通过 Internet 发送对象

    我定义一个类 然后设置该类类型的一个对象 我想透明地将该对象发送到另一台计算机上运行的另一个 Java 应用程序 实现这一目标的最佳技术是什么 您需要首先研究 Java 的序列化可串行化 http java sun com javase 6
  • 使用nodejs中的直通流模块使用axios发送文件

    Imports const ffmpegPath require ffmpeg installer ffmpeg path const FfmpegCommand require fluent ffmpeg const fs require
  • React Django WebSocket 连接挑战

    我面临的挑战是尝试将 Django 后端与 React 前端应用程序连接起来 我收到的错误是 WebSocket connection to ws localhost 8000 ws week failed callee Week jsx
  • 在 powershell 中停止然后启动进程

    我想停止 终止某个进程 然后在完成我必须做的事情后再次启动它 这是我已经拥有的 Clear host processes Get Process devenv processes Count if processes Count gt 1
  • 如何将asp.net MVC详细视图数据导出到excel文件?

    如何将 ASP NET MVC 视图数据导出到 Excel 文件 实际上我的视图页面包含许多视图数据类型 我使用这些数据类型的每个循环来在视图页面上显示数据 我的要求是我想将显示的数据导出到Excel文件中 我该如何实现这一目标 Thank
  • FullCalendar - 提取显示的事件

    是否有可能发现 提取当前显示的来自 FullCalendar 对象的事件 参考 http arshaw com fullcalendar http arshaw com fullcalendar 理想情况下 我希望在日历旁边有一个事件的辅助
  • Java中String.length()的时间复杂度是多少?

    是 O n 还是 O 1 通过在字符串分配给对象期间将长度保存在私有变量中 如果是O n 是否意味着下面代码的复杂度是O n 2 for int i 0 i
  • 检查 URL 是否存在 - HTTP 请求总是返回异常

    有很多关于如何检查 URL 是否有效的帖子 它们都具有基本相同的代码 这似乎适用于每个人 但不适合我 我不明白为什么 public static bool ifURLexists string url try var request Web
  • 向团队传递 TFS 构建状态通知的最佳方式是什么?

    我喜欢在构建中断时 TFS 警报机制发送的状态电子邮件 但是 我想向整个团队发送这样的电子邮件 而不是依赖团队订阅警报 在覆盖 OnBuildBreak 并使用 MSBuild 社区任务电子邮件任务时 我自己很难生成足够详细的消息 有没有办
  • sys.stdin 读取什么?

    我了解了如何打开文件 然后使用 Python 的预内置函数来处理它们 但是 sys stdin 是如何工作的呢 for something in sys stdin some stuff here lines sys stdin readl
  • Android 8.0 上的 BLE 扫描

    我开发了一个应用程序 可以扫描附近的设备 周围有多种信标 我正在使用带有 CALLBACK TYPE ALL MATCHES 和空 ScanFilter 数组的 BluetoothLeScanner 进行扫描 因为我想获取所有附近设备的回调
  • LINQ - 查询语法与方法链和 lambda [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么 prettier 将尾随逗号单独放置并给出错误,指出需要将其删除?

    eslintrc json env commonjs true es6 true node true extends prettier airbnb base plugins prettier globals Atomics readonl
  • 使用 MacOS 终端从 .tar.xz 存档中提取具有文件扩展名的特定文件

    我有许多扩展名为的压缩档案 tar xz 据我所知 解压后所需的总大小约为 2TB 档案中有许多我想要的图像 有没有一种方法可以单独提取文件 例如带有扩展名的文件 jpg jpeg and gif从压缩档案中提取而无需提取每个文件 Than
  • 访问用 java 编写的 Web 服务方法时出现 java.lang.ClassCastException。贾克斯布

    我正在编写一个必须与 MS SQL 数据库交互的应用程序 在我的应用程序中 我正在创建 Web 服务 使用 javax jws 来访问数据库表 我正在 Web 服务中创建一个操作 方法 返回类型为 java lang Object 如下所示
  • Swift 中有一个具有多种类型的变量

    我想要一个变量 它可以有多种类型 只有我定义的类型 例如 var example String Int 0 example hi 该变量应该只能保存 Int 和 String 类型的值 这可能吗 感谢您的帮助 您可能正在寻找 具有关联值的枚