Ich versuche, ein leeres Array von Enum innerhalb einer anderen Klasse definiert zu erklären, wie folgt, und ich erhalte die folgende Fehlermeldung:Swift: Kann nicht leeres Array von verschachtelten Aufzählungstyp erstellen
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)
Allerdings kann ich erklären das Array wie folgt kein Problem:
// No errors
var emptyEnumArray: [OuterClass.MyEnum] = []
Dies scheint nur ein Problem zu sein, wenn die enum innerhalb einer anderen Klasse definiert ist, wie dies funktioniert:
enum OtherEnum {
case ThingOne
case ThingTwo
}
var emptyArrayTwo = [OtherEnum]()
emptyArrayTwo.append(.ThingTwo)
Irgendwelche Gedanken darüber, warum das erste Snippet nicht funktioniert? Ist das ein Sprachfehler?
sah es mir selbst, und scheint viel wie ein Fehler ja. Haben Sie versucht, es mit deaktivierten Compiler-Warnungen auszuführen? –