Kann nicht zuordnen, auf 'X' in 'Y' in Swift

Habe ich ein Wörterbuch mit Structs in es. Ich bin versucht, weisen die Werte der struct wenn ich eine Schleife durch die dictionary. Swift sagt mir cannot assign to 'isRunning' in 'blockStatus'. Ich habe nicht in der Lage, alles zu finden in der Dokumentation auf diese Besondere Unveränderlichkeit der dictionaries oder structs.
Gerade vom Spielplatz:

import Cocoa

struct BlockStatus{
 var isRunning = false
 var timeGapForNextRun = UInt32(0)
 var currentInterval = UInt32(0) 
}

var statuses = ["block1":BlockStatus(),"block2":BlockStatus()]

for (block, blockStatus) in statuses{
 blockStatus.isRunning = true
}

cannot assign to 'isRunning' in 'blockStatus'
blockStatus.isRunning = true

Dieser funktioniert, wenn ich die struct zu einem class.

Ich vermute, es hat etwas mit der Tatsache zu tun, dass die Strukturen werden kopiert und Klassen sind immer verwiesen?

EDIT: So, auch wenn es zu kopieren.. Warum kann ich es ändern? Es wäre net mir das falsche Ergebnis, aber Sie können ändern, die Mitglieder der Konstanten, die einfach nicht die Konstante selbst. Zum Beispiel können Sie dies tun:

class A {
    var b = 5
}

let a = A()
a.b = 6
InformationsquelleAutor Johnston | 2014-06-20
Schreibe einen Kommentar