Ich möchte in der Lage sein, mein Array von Objekten mit map
in Swift der Fliege zu ändern, ohne durch jedes Element zu durchlaufen.Karte ändern Array von Objekten in Swift 2.2 (3.0)
Bevor hier in der Lage waren, so etwas zu tun (Beschrieben in mehr Details here:
gnomes = gnomes.map { (var gnome: Gnome) -> Gnome in
gnome.age = 140
return gnome
}
Vielen Dank für Erica Sadun und andere haben neue Vorschläge durchgegangen und wir jetzt von C-Stil Loswerden Schleifen und var
innerhalb der Schleife verwendet wird.
in meinem Fall bin immer ich zum ersten Mal eine Warnung, die var
in dann einem Fehler zu entfernen, meine gnome
eine konstante ist (natürlich)
Meine Frage ist: Wie ändern wir Arrays innerhalb eines map
oder die neu gestalteten Loops für die Angelegenheit vollständig für Swift 3.0 vorbereitet werden?
gibt einen Fehler zurück "$ 0 ist unveränderlich". Es ist meine Schuld.Ich hätte präzisieren sollen :(Ich benutze Strukturen anstelle von Klassen, ich wette, dass sie standardmäßig unwandelbar sind – kernelpanic
@kernelpanic Da du uns deine 'Gnome' Klasse nicht gezeigt hast, musste ich eine eigene hinzufügen Sind Sie sicher, dass die "Alter" -Eigenschaft Ihrer Klasse eine veränderliche ist (sowie Ihr Array von Gnomen)? Das obige funktioniert gut für mich auf Swift 2.2 und Xcode 7.3. – dfri
@dfri Ich vermute, dass "Gnome" ist ein struct – vadian