gpt4 book ai didi

ios - Swift 在一行中返回关联的枚举值或 nil

转载 作者:搜寻专家 更新时间:2023-11-01 07:10:53 26 4
gpt4 key购买 nike

Case 语句并不总是直观的,尤其是在 switch 语句之外。

是否可以在一行中返回枚举案例的关联值,如果该案例匹配,否则为零。这是代码:

struct Something<B> {
enum Base {
case common(B)
case extended([B])
}

let base:Base

var common:B? {
switch base {
case .common(let common) :
return common
default:
return nil
}
}
}

看看 common 有很多样板文件只是为了返回 common 的关联值(如果它存在)。我希望语法类似于此(或什至更简单):

var common:B? {
return case base as .common(let common)
}

(目前使用 Swift 4)

最佳答案

这个有点短

var common:B? {
if case let .common(common) = base { return common }
return nil
}

关于ios - Swift 在一行中返回关联的枚举值或 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45008894/

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