篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift Swift 3 - Enum utils相关的知识,希望对你有一定的参考价值。
//
// Based on https://quinesoft.de/2016/05/23/swift-enumerate-iterate-enum/
//
// Usage:
//
// public enum Pies: Int, EnumerableEnum {
// case apple
// case strawberry
// case chicken
// }
//
// class MyClass {
// func demoEnumerableEnum(){
// for v in Pies.allValues() {
// print(v)
// }
// print(Pies.count())
// }
// }
protocol EnumerableEnum: RawRepresentable {
static func allValues() -> [Self]
static func count() -> Int
}
extension EnumerableEnum where RawValue == Int {
static func allValues() -> [Self] {
var index = 0
var array = [Self]()
while let element = Self(rawValue: Int(index)) {
array.append(element)
index += 1
}
return array
}
static func count() -> Int {
var index = 0
while let _ = Self(rawValue: Int(index)) {
index += 1
}
return index
}
}
以上是关于swift Swift 3 - Enum utils的主要内容,如果未能解决你的问题,请参考以下文章