在 Swift 3 中,假设有一个系统定义的枚举(即我不控制源代码),如下所示:
enum currentState: Int {
case enabled
case disabled
case unknown
}
是否可以通过扩展专门为现有成员添加关联值?
最佳答案
不,你不能。想想看,currentState
枚举实际上只是一个受限的 Int
。它甚至不是一个对象。
如果您需要更复杂的枚举,则需要包装给您的枚举。
注意:Swift 扩展通常不能将状态添加到基本类型。例如。这也不起作用:
class A {}
extension A { var value : Int = 32 }
关于swift - 是否可以通过扩展将关联值添加到现有的 Swift 枚举中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38504692/