Swiftのタイプオブジェクトから、動的にイニシャライザを呼ぶ方法
SwiftCount
protocol CountableIntEnum {
init?(rawValue: Int)
}
func enumCount(CountableEnumType: CountableIntEnum.Type) -> Int {
var count = 0
while CountableEnumType(rawValue: count) != nil {
count++
}
return count
}
enum Podium: Int, CountableIntEnum {
case First = 0
case Second
case Third
static let count = enumCount(Podium)
}
println(Podium.count)
Command failed due to signal: Segmentation fault: 11
While emitting IR SIL function @_TF8EnumTest9enumCountFPMPS_16CountableIntEnum_Si for 'enumCount'
FoundationEnumType(rawValue: Int)