मैं इस प्रकार एक और वर्ग के अंदर परिभाषित enum के एक खाली सरणी घोषित करने के लिए कोशिश कर रहा हूँ, और निम्न त्रुटि हो रही है:स्विफ्ट: नेस्टेड enum प्रकार के खाली सरणी नहीं बना सकता
class OuterClass {
enum MyEnum {
case ThingOne
case ThingTwo
}
}
// Error: Invalid use of '()' to call a value of non-function type '[OuterClass.MyEnum.Type]'
var emptyEnumArray = [OuterClass.MyEnum]()
emptyEnumArray.append(.ThingOne)
हालांकि, मैं घोषणा कर सकते हैं ,
// No errors
var emptyEnumArray: [OuterClass.MyEnum] = []
यह केवल एक मुद्दा जब enum अन्य वर्ग के अंदर परिभाषित किया गया है प्रतीत होता है के रूप में इस काम करता है:: सरणी के रूप में कोई समस्या नहीं के साथ इस प्रकार
enum OtherEnum {
case ThingOne
case ThingTwo
}
var emptyArrayTwo = [OtherEnum]()
emptyArrayTwo.append(.ThingTwo)
कोई भी विचार क्यों पहला स्निपेट काम नहीं करता है? क्या यह एक भाषा बग है?
इसे स्वयं देखा, और एक बग हां जैसा लगता है। क्या आपने इसे कंपाइलर चेतावनियों के साथ बंद करने का प्रयास किया है? –