gpt4 book ai didi

swift - 如何在 Swift 中将 func 定义为 Enum 的特定情况?

转载 作者:行者123 更新时间:2023-11-30 13:26:18 26 4
gpt4 key购买 nike

enum Type {
case A
case B

func do() {

}
}

我想为案例 A 做一些事情

最佳答案

我不认为你想要的枚举是可能的。

但是,可以通过技巧来完成。

首先,创建一个名为 Type 的类:

class Type { private init() {} }

并创建两个类,ATypeBType来继承Type:

// Put this in the same file as Type
class AType: Type { private init() {} }
class BType: Type { private init() {} }

私有(private)初始化器是为了防止外部代码创建ATypeBType对象。

类型中,添加以下静态属性:

static let A = AType()
static let B = BType()

那么你基本上就完成了!

要添加仅Type.A可访问的方法,只需将其添加到AType类中!

这样,就像枚举一样,Type.AType.B 仍然可以分配给 Type 对象!

关于swift - 如何在 Swift 中将 func 定义为 Enum 的特定情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37152866/

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