Funktioniert "didset" mit Tupeln in Arrays?

9

Ich möchte wissen, ob "didset" mit Tupeln in Arrays funktioniert.

Ich schreibe so etwas wie den folgenden Code und möchte den Wert des Tupels innerhalb des Arrays beobachten. Ist es verfügbar, um so etwas zu tun?

%Vor%     
i77k 31.08.2015, 13:48
quelle

1 Antwort

9

Ja, es funktioniert:

%Vor%

didSet wird bei jeder Änderung des Arrays wie erwartet ausgeführt:

  

~~~~~~
  [(0, 42)]
  ~~~~~~
  [(33, 42)]

Wenn Sie die geänderten Werte wissen möchten, verwenden Sie "didSet" + "oldValue" und / oder "willSet" + "newValue":

%Vor%
  

[(0, 42)]
  []
  [(33, 42)]
  [(0, 42)]

newValue und oldValue sind beide Variablen, die von Swift generiert werden. Sowohl "willSet" als auch "didSet" werden aufgerufen, wenn das Array geändert wird.

UPDATE:

Sie können auf das eigentliche Objekt hinter newValue und oldValue zugreifen. Beispiel:

%Vor%     
Moritz 31.08.2015 13:54
quelle

Tags und Links