具有相同案例名称和不同类型关联值的枚举

2023-11-23

以下 Swift 代码可编译:

enum GraphDataSource  {
    case array(data: [Double], start: Double?, step: Double?)
    case pairs(XYValues: [Double: Double])
    case pairs(dateValues: [Date: Double])
    case function((Double) -> Double?)

    func localizedName() -> String {
        // TODO: Create localizable strings
        return NSLocalizedString(Mirror(reflecting: self).children.first?.label ?? "", comment: "")
    }
}

它有两个名为pairs。 但当我尝试提取关联价值时,结果发现我无法选择我想要的。

    var graphData = GraphDataSource.function(sin)

    switch graphData {
    case .pairs(dateValues: let vals):
        vals.keys.forEach({print($0)})
    case .pairs(XYValues: let xy): // without this case everyting compiles OK
        xy.keys.forEach({print($0)})
    default:
        break
    }

错误是:“元组模式元素标签‘XYValues’必须是‘dateValues’”。 这是正常的吗?感觉编译器应该要么禁止同名的情况,要么允许同时打开两者。


这是一个 Swift 编译器错误。看SR-10077.

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

具有相同案例名称和不同类型关联值的枚举 的相关文章

  • 通过 firebase 登录获取更大的 Facebook 图片

    我正在使用 firebase 通过 facebook 登录用户 这一切都工作正常 我可以获取用户 FB 个人资料图像 尽管它太小了 有人可以告诉我如何获得更大的 我正在使用的代码 override func viewDidLoad let
  • 如何在 Swift3.0 中居中对齐 UICollectionView 的单元格?

    描述 回答Objective C and Swift2 0 如何居中对齐 UICollectionView 的单元格 https stackoverflow com questions 13588283 how to center alig
  • 定义一个数组,使用枚举变量作为数组大小

    使用枚举变量定义数组作为数组大小意味着什么 例如我有以下代码 typedef enum D ROM RDE GROUP 0 0x0 D ROM RDE GROUP 1 D ROM RDE MAX GROUPS E ROM RDE GROUP
  • 如何将 Swift 字符串传递给 C 函数?

    我在将字符串从 swift 传递到用 c 编写的函数时遇到严重问题 我正在尝试在我的快速代码中执行此操作 var address 192 168 1 2 var port 8888 initSocket address port c 函数如
  • Xcode 11 beta swift ui 预览未显示

    只是使用 Swift UI 基本应用程序 即使我处于画布模式 预览画布也不会显示 应用程序运行 我有这个小片段 我错过了什么 if DEBUG struct ContentView Previews PreviewProvider stat
  • 以编程方式快速呈现视图控制器

    您好 我正在尝试将以下目标 C 代码转换为 swift 以便在单击按钮时从一个视图控制器导航到另一个视图控制器 任何帮助将非常感激 这是摘自苹果的编程指南 void add id sender Create the root view co
  • 使用 C# 9.0 记录构建类智能枚举/类判别联合/类和类型数据结构?

    玩弄record在 C 中输入 看起来它对于构建类似可区分联合的数据结构非常有用 我只是想知道我是否错过了一些我以后会后悔的陷阱 例如 abstract record CardType Case types public record Ma
  • iOS11视觉框架映射所有人脸特征点

    我正在使用视觉框架并使用以下代码获取所有里程碑点 if let allFaceLandmarks landmarks allPoints print allFaceLandmarks 但无法找到这些点的映射 例如右眼的索引号 寻找相同的东西
  • 删除 UISearchBar 中的清除按钮

    我想从 UISearchBar 中删除清除按钮 灰色 x 我尝试按照中的描述进行操作这个答案 https stackoverflow com a 19458201 但它不起作用 我将 Objective C 代码从下面的答案和评论翻译为以下
  • 如何设置 NSAttributedString 的字体大小

    编辑 这已被标记为重复 但正如我在下面所述 我正在寻找一个 Swift 解决方案 我发现的所有内容都是用 Objective C 编写的 我正在尝试将 HTML 转换为 NSAttributedString 但不知道如何设置字体样式和大小
  • RealityKit – 在特定点向实体添加力量

    我有我的实体 它也有物理我用if let syntax if let scoot scooter as HasPhysics 这就像魅力一样 我可以通过使用让用户点击UITapGestureRecognizer这只是我想使用的第一次迭代sw
  • 隐藏标签栏并删除空格

    有没有办法隐藏选项卡栏并删除剩余的空间 大约 50px I tried self tabBarController tabBar hidden true self extendedLayoutIncludesOpaqueBars true
  • 使用 NSXMLParser 在 Swift 中解析分层 XML

    我确实在以我实际可以使用的形式获取分层 XML 值时遇到问题 因此我们将不胜感激 我对 Swift 和 IOS 开发还很陌生 所以说实话我并不完全理解解析器 但我希望在这之后我能理解 下面是我尝试解析的示例 XML 它来自肥皂网络服务 连接
  • Swift 中带有数组的 For-In 循环中迭代器元素的可变性

    我在 Swift 3 0 中有一些代码 就像这样尝试更新元素数组中的属性 for point in listOfPoints var pointInFrame Float Float point position x sensorIncom
  • AVPlayer Swift:如何隐藏控件并禁用横向视图?

    因为这是我的第一篇文章 所以简单介绍一下我 通常我设计东西 主要是 UI 但我真的很想跨入编程领域 以便更好地理解你们 所以我决定构建一个小应用程序来开始 所以我已经花了几个小时试图解决这个问题 这是我的第一个应用程序项目 所以我为我的新手
  • 在 Swift 中使用模板键入别名声明

    如何避免函数中多余的限制声明f0 f1 f10 class SomeClass
  • 检测 SFSafariViewController 中的 URL 更改

    我有一个 SFSafariViewController 当用户点击我的应用程序中的链接时 它会打开 我需要检测 URL 何时更改 这样当它更改时 应用程序会显示警报 我们如何检测 SFSafariViewController 中的 URL
  • 在单个 MTLRenderCommandEncoder 中使用多个渲染管道:如何同步 MTLBuffer?

    中心议题我在一个渲染命令编码器中有两个渲染管道 第一个管道写入第二个管道中使用的缓冲区 这似乎不起作用 我预计这是一个同步问题 当我为每个渲染管道使用一个单独的渲染命令编码器时 我得到了所需的结果 可以使用一个渲染命令编码器来解决这个问题
  • 按钮图像未显示在 UItextfield 的 rightView 中

    我创建了一个按钮图像 并使用 Sa wift 将其放置在 UITextField 密码 的 rightView 上 我想在密码字段中创建切换按钮隐藏 显示安全文本 右视图中显示的图像 Code func passwordToggleButt
  • 如何查看iOS11屏幕录制是否开启?

    为了检测 iOS11 屏幕录制功能的开或关 我使用了 isCaptured 和 UIScreenCapturedDidChange 通知 当我第一次启动应用程序并在 iOS11 内置屏幕录制功能上时 它会通知选择器方法 值为 True 但是

随机推荐

  • 从 jar 文件复制目录

    我最近开发了一个应用程序并创建了 jar 文件 我的一个类创建一个输出目录 用其资源中的文件填充它 我的代码是这样的 Copy files from dir template in this class resource to output
  • 避免 Seaborn 条形图颜色去饱和

    我正在尝试使用几个不同的库 bokeh seaborn and matlotlib 但保持相同的配色方案 我从散景中选择了分类调色板 from bokeh palettes import Category10 as palette然后也用在
  • 什么是 Rails 插件或 Ruby gem,可以自动修复英语语法?

    Facebook 刚刚重新推出了 Comments 具有自动语法修复功能 语法过滤器有什么作用 添加标点符号 例如句子末尾的句号 修剪多余的空格 自动区分单词 例如 将 a 的第一个单词大写 句子 扩展俚语 例如 plz 变为 please
  • 如何实现带锁选择的select2?

    我正在尝试将 select2 与一个禁用值一起使用 我正在尝试像这样实现它 select currency select2 data preloaded data 我一直在读关于锁定选择但我无法实现它 请问有人可以让我知道如何实现它或者有关
  • 元标记中的 html 实体会影响索引吗?

    我想知道在元标记 如关键字和描述 中使用 HTML 实体是否是最好的方法 它会影响搜索引擎的索引吗 只要我的字符集允许字符 我就会放置没有实体的元标记内容 我研究了一下 发现了这个Google 网站管理员 网站所有者帮助该示例包含 9 24
  • 在 Hangfire 中保留执行超过 1 天的作业的历史记录

    我刚刚开始使用 Hangfire 我很喜欢它 据我了解 Hangfire 会将成功作业的历史记录保留 1 天 然后将其清除 有没有办法可以自定义此默认行为并将历史记录保留任意持续时间 例如 7 天 为此 您需要创建一个作业过滤器并通过han
  • postgres 无法识别函数中的临时表

    这可能是因为我累了 或者我是 postgres 新手 然而 我试图在函数中使用临时表 而 postgres 抱怨 关系不存在 然而 如果我获取函数的主体并执行它 它就可以正常工作 下面是我尝试创建的函数类型的示例 请记住 我已经删除了所有有
  • 我正在使用 Python urllib2 下载文件。如何查看文件大小有多大?

    如果它很大 那么停止下载 我不想下载大于 12MB 的文件 request urllib2 Request ep url request add header User Agent random choice agents thefile
  • R中按行号分割数据帧

    这可能非常简单 但我找不到解决方案 df lt data frame replicate 10 sample 0 1 10 rep TRUE v lt c 3 7 有没有一种优雅的方法可以在 v 中指定的行号处将此数据帧拆分为 列表的 三个
  • 将大小为编译时常量的数组初始化为单个值

    我有一个 c 风格的数组 其大小由 a 定义 define并且可以根据编译选项进行更改 例如 if LINUX define SIZE 4 else define SIZE 5 endif static int myArr SIZE 如何将
  • Reader和InputStream有什么区别?

    Reader和InputStream有什么区别 以及何时使用什么 如果我可以使用 Reader 来读取字符 为什么我会使用 inputstream 我想读取对象 InputStream 是从资源获取信息的原始方法 它逐字节抓取数据 而不执行
  • 指针初始化为什么?

    有件事总是让我困惑 那就是字符指针 四年后 我再次徘徊在 c 语言上 以上述案例为例 为什么char指针的行为是这样的 当指针指向任何内容时 我们如何直接寻址指针的内容 或者就像 char 指针存储地址以外的东西一样 include
  • 编写 Iron Python 调试器

    作为学习练习 我正在使用 IronPython 为自己编写一个简单的扩展 插件 宏框架 我已经掌握了基础知识 但我想添加一些基本的调试支持 以使我的脚本编辑器更易于使用 我在互联网上搜索了一下 发现了一些关于编写托管调试器的好资源 包括 M
  • 在 C 中用零覆盖整个文件的最快方法是什么?

    我需要做的是以最快的方式将整个文件内容用零填充 我知道一些Linux命令 比如cp实际上得到一次写入的最佳块大小信息是多少 但我无法弄清楚使用此块大小信息是否足以获得良好的性能并且看起来像st blksize来自stat 没有给我那个块大小
  • Haskell do 符号绑定

    我正在尝试对 Haskell 中的 do 语句进行脱糖处理 我在这里找到了一些例子 但无法将它们应用到我的案例中 我唯一能想到的是一个沉重的嵌套 let 语句 这看起来很丑陋 其中 do 表示法应替换为 bind 的语句 do num lt
  • 更改窗口的消息循环线程

    最近我尝试将窗口的消息循环放在它自己的线程中 我想知道为什么它从未收到任何消息 但我了解到Windows将消息发送到创建窗口的线程 如何在一个线程中创建一个窗口并使另一个线程接收该窗口的消息 我已经看到了 PostThreadMessage
  • 孩子在平面结构多模块maven构建中找不到父pom

    我正在设置一个具有扁平结构的多模块项目 即父级和子级位于同一基目录中 父级定义为
  • 为什么无法在升级中更改放置限制?

    我的 Azure Service Fabric 群集中运行着无状态 ASP NET Core RC1 服务 它具有以下清单
  • 更新 knex 迁移中的枚举列类型

    我正在寻找编写一个迁移字符串以将新字符串添加到枚举列类型 我正在尝试添加gamma to the service column 我尝试使用下面的代码 这会发生冲突 因为表和列已经存在 const table user association
  • 具有相同案例名称和不同类型关联值的枚举

    以下 Swift 代码可编译 enum GraphDataSource case array data Double start Double step Double case pairs XYValues Double Double ca