Wie kann ich in Swift ein NSMutableArray durchsuchen? Was ich versucht habe:
%Vor% Das Array enthält Objekte aus der Klasse: Vehicle
Ich kann den obigen Code nicht ausführen, ohne dass der Compiler mir sagt, dass registration
nicht zu AnyObject
gehört. An dieser Stelle nahm ich an, dass das war, weil ich der for-Schleife nicht gesagt hatte, welcher Typ von Klasse item
gehört. Also habe ich den Code geändert:
Nun beschwert sich der Compiler über Downcasting ... Wie kann ich einfach Zugriff auf die benutzerdefinierte Registrierungseigenschaft erhalten, während ich durch das Array von Fahrzeugen schlendere?
Wie Romain vorgeschlagen hat, können Sie das Swift-Array verwenden. Wenn Sie weiterhin NSMutableArray
verwenden, können Sie Folgendes tun:
oder, wenn Sie wissen, dass es nur Vehicle
Objekte sind, können Sie es auspacken:
oder, wie DNagy vorgeschlagen hat:
%Vor% Offensichtlich ist es, wenn möglich, die Frage, ob Sie NSMutableArray
zurückziehen und stattdessen Array<Vehicle>
(aka [Vehicle]
) verwenden können. Also statt:
Sie können:
%Vor%Dann können Sie Dinge tun wie:
%Vor% Manchmal bleiben wir bei Objective-C-Code, der NSMutableArray
-Objekte zurückgibt, aber wenn dieser NSMutableArray
in Swift erstellt wurde, ist es wahrscheinlich besser, stattdessen Array<Vehicle>
zu verwenden.