다음 열거 형이 있습니다.
enum EstimateItemStatus: Printable {
case Pending
case OnHold
case Done
var description: String {
switch self {
case .Pending: return "Pending"
case .OnHold: return "On Hold"
case .Done: return "Done"
}
}
init?(id : Int) {
switch id {
case 1:
self = .Pending
case 2:
self = .OnHold
case 3:
self = .Done
default:
return nil
}
}
}
모든 원시 값을 문자열 배열로 가져와야 ["Pending", "On Hold", "Done"]
합니다.
이 메서드를 열거 형에 추가했습니다.
func toArray() -> [String] {
var n = 1
return Array(
GeneratorOf<EstimateItemStatus> {
return EstimateItemStatus(id: n++)!.description
}
)
}
하지만 다음과 같은 오류가 발생합니다.
'(()-> _)'유형의 인수 목록을 허용하는 'GeneratorOf'유형에 대한 이니셜 라이저를 찾을 수 없습니다.
이 작업을 수행하는 더 쉽고, 더 좋고, 더 우아한 방법이 있습니까?