gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 22:24:16 24 4
gpt4 key购买 nike

编译以下 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 .

关于swift - 具有相同案例名称且具有不同类型关联值的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55211833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com