मेरे पास निम्नलिखित एनम है।
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
}
)
}
लेकिन मुझे निम्नलिखित त्रुटि मिल रही है।
'जेनरेटरऑफ' टाइप के लिए एक इनिशियलाइज़र नहीं खोज सकता है जो टाइप की एक तर्क सूची को स्वीकार करता है '() -> _')
क्या ऐसा करने का एक आसान, बेहतर या अधिक सुरुचिपूर्ण तरीका है?