Element während der Iteration mit forEach @ aus der Sammlung entfern
or kurzem habe ich diesen Code geschrieben, ohne viel darüber nachzudenken:
myObject.myCollection.forEach { myObject.removeItem($0) }
womyObject.removeItem(_)
entfernt ein Objekt ausmyObject.myCollection
.
enn ich mir jetzt den Code ansehe, bin ich verwirrt, warum das überhaupt funktioniert - sollte ich nicht eine Ausnahme im Sinne von @ bekommeCollection was mutated while being enumerated
? Der gleiche Code funktioniert auch bei Verwendung einer regulären For-In-Schleife!
Ist dieses Verhalten zu erwarten oder habe ich das Glück, dass es nicht abstürzt?