Durchlaufen NSMutableArray in Swift
Wie kann Ioop durch ein NSMutableArray in Swift? Was ich versucht habe:
var vehicles = NSMutableArray()
Enthält das array Objekte Klasse: Vehicle
for vehicle in vehicles {
println(vehicle.registration)
}
Kann ich den oben stehenden code ausführen, ohne den compiler sagt mir registration
gehört nicht zu AnyObject
. An dieser Stelle bin ich davon ausgegangen, dass war, weil ich gar nicht gesagt, die for-Schleife, welche Art von Klasse item
gehört. So habe ich durch code geändert:
for vehicle: Vehicle in vehicles {
println(vehicle.registration)
}
Nun der compiler beschwert sich über downcasting... wie kann ich einfach den Zugriff auf die benutzerdefinierte Registrierung Immobilie, während die Schleife durch das array der Fahrzeuge?
- Funktioniert diese Hilfe? dev.eltima.com/post/96538497489/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte dies funktionieren:
Als Romain vorgeschlagen, die Sie verwenden können, Swift-array. Falls Sie weiterhin
NSMutableArray
Sie tun konnte, entweder:oder können Sie erzwingen, dass es Auspacken, mit einem
where
qualifier-so schützen Sie sich gegen cast-Fehler:oder Sie verwenden funktionalen Muster:
Natürlich, wenn möglich, die Frage ist, ob man sich zurückziehen kann
NSMutableArray
und verwendenArray<Vehicle>
(aka[Vehicle]
) statt. Also, statt:Können Sie tun:
Dann können Sie Sachen wie tun:
Manchmal wir stecken mit Objective-C code, der die Rückkehr
NSMutableArray
Objekte, aber wenn dieseNSMutableArray
wurde erstellt von Swift, es ist wahrscheinlich besser, verwendenArray<Vehicle>
statt.NSMutableArray
kommt aus der Objective-C Welt. Jetzt können Sie mit Generika und stark typisierte arrays, wie dieser:removeObjectsAtIndexes
Methode auf Ihrevehicles
array? Ich bin mit der Konvertierung eines NSArray in ein array, das erlaubt mir zu verwenden, dass aus technischen Gründen in meine app..., wie lange arbeitet deine Antwort ist perfekt