同名的Swift枚举案例

时间:2019-04-04 11:18:02

标签: swift

假设我有以下枚举:

enum Measurement {
 case Volume(litre: Double)
 case Volume(millilitre: Double)
 case Length(cm: Double)
}

然后当我像这样执行switch语句时:

switch measurement {
 case .Volume(let val):
...   

如何区分这两个Volume案例? 还是这真的不可能,我应该改为使用VolumeLitreVolumeMillilitre

1 个答案:

答案 0 :(得分:7)

您可以创建另一个代表该体积的枚举:

enum Volume {
    case litre(Double)
    case millilitre(Double)
}

enum Measurement {
    case volume(Volume)
    case length(cm: Double)
} 

此外,对于枚举,请使用小写字母