Wird observeValueForKeyPath immer vom Haupt-Thread aufgerufen?

8

Wird observeValueForKeyPath immer vom Haupt-Thread aufgerufen?

Ich protokolliere Anrufe mit

%Vor%

und es scheint jedes Mal 1 zu drucken, aber ich konnte in den Dokumenten keine Garantie dafür finden. Kann jemand bestätigen, dass dies der Fall ist?

    
bcattle 05.09.2014, 22:58
quelle

1 Antwort

19

Im Allgemeinen, nein.

Sie erhalten observeValueForKeyPath:ofObject:change:context: für den Thread, der den Wert geändert hat. Die Setter-Methode, die den Wert ändert, sendet die Nachricht an alle Beobachter nach der Aktualisierung des Werts und vor der Rückgabe.

Wenn Sie den Setter nur im Hauptthread aufrufen, werden Sie nur die Änderung am Hauptthread beobachten.

    
rob mayoff 05.09.2014, 23:01
quelle