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

我正在通过以下来定义一些范围

let range0_15 = 0 ..< 15 let range15_30 = 15 ..< 30 let range30_45 = 30 ..< 45 let range45_60 = 45 ..< 60 

我真的想通过尝试使用Enum

 enum range : Range<Int> { range0_15 = 0 ..< 15 range15_30 = 15 ..< 30 range30_45 = 30 ..< 45 range45_60 = 45 ..< 60 } 

我收到一个错误

 Type 'CoreDataStach.range' does not comform to protocol RawRepresentable 

有没有可能像上面定义一个枚举,如果是的话,我在这里丢失了什么。

你可能会更好地使用结构来尝试这样的事情。

 struct Ranges{ static let range0_15 = 0 ..< 15 static let range15_30 = 15 ..< 30 static let range30_45 = 30 ..< 45 static let range45_60 = 45 ..< 60 } if Ranges.range0_15.contains(6){ //Test to true print("inside range")//Prints "inside range" } 

尝试像这样:

 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 } } } 

然后你可以使用你的rangeEnumVariable.range

要么

rangeEnum.range0_15.range