如何使用枚举简化并使其更好,快速学习,枚举

ton*_*ran 3 enums ios swift xcode7 swift2

我通过以下方式定义一些范围

let range0_15   =   0 ..< 15
let range15_30  =   15 ..< 30
let range30_45  =   30 ..< 45
let range45_60  =   45 ..< 60
Run Code Online (Sandbox Code Playgroud)

我真的很想通过尝试来使用Enum

enum range : Range<Int> {
    range0_15   =   0 ..< 15
    range15_30  =   15 ..< 30
    range30_45  =   30 ..< 45
    range45_60  =   45 ..< 60
}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误

Type 'CoreDataStach.range' does not comform to protocol RawRepresentable
Run Code Online (Sandbox Code Playgroud)

是否可以像上面那样定义一个枚举,如果是的话,我在这里缺少什么。

Sam*_*Sam 5

尝试这样:

enum rangeEnum : Int {
    case range0_15
    case range15_30
    case range30_45
    case range45_60
    
    var range:Range<Int> {
        switch self {
        case .range0_15 : return 0 ..< 15
        case .range15_30 : return 15 ..< 30
        case .range30_45 : return 30 ..< 45
        case .range45_60 : return 45 ..< 60
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以使用

rangeEnumVariable.range
Run Code Online (Sandbox Code Playgroud)

或者:

rangeEnum.range0_15.range
Run Code Online (Sandbox Code Playgroud)

  • 他定义了枚举,然后使用 Switch 语句,以便您可以访问已定义的范围以设置其他变量或在其他逻辑语句中使用。就我个人而言,我只会使用结构来处理这种事情。 (2认同)