Ich habe eine Aufzählung wie folgt definiert:Swift 2: @objc Protokoll und ENUM Array
@objc enum MyEnum: Int {
case Case1, Case2
}
und das folgende Protokoll:
@objc protocol MyProtocol {
func myFunc(myData: [MyEnum])
}
jetzt das Protokoll die folgenden Fehler führt:
Method cannot be a member of a @objc protocol because the type of the parameter cannot be represented in Objective-C
Ich verstehe nicht, warum das passiert. Warum das funktioniert:
func MyFunc(myData: MyEnum)
aber wirft Fehler mit dem Array?
Ich dachte daran, ein Array von Int übergeben und dann wieder in Enum konvertieren, aber ich mag es nicht sehr. Gibt es eine bessere Lösung?
versuchen Ja, du hast recht ich hätte nicht gedacht, dass NSArray nur Zeiger enthalten. Was die Auflösung angeht, habe ich die for-Schleife außerhalb der Funktion verschoben, anstatt die Transformation außerhalb der Funktion und dann wieder innerhalb der Funktion durchzuführen – whtman