如何简化和使用枚举,快速学习,枚举更好
我正在通过以下来定义一些范围
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