enum Type {
case A
case B
func do() {
}
}
我想为案例A提供
答案 0 :(得分:0)
我不认为你想要的是枚举。
但是,可以通过技巧来完成。
首先,创建一个名为Type
的类:
class Type { private init() {} }
创建两个类AType
和BType
以继承Type
:
// Put this in the same file as Type
class AType: Type { private init() {} }
class BType: Type { private init() {} }
私有初始值设定项是为了防止外部代码创建AType
和BType
个对象。
在Type
中,添加以下静态属性:
static let A = AType()
static let B = BType()
然后你基本完成了!
要添加只有Type.A
可访问的方法,只需将其添加到AType
类中即可!
这样,就像枚举一样,Type.A
和Type.B
仍然可以分配给Type
对象!