Wie

2016-09-17 1 views
1

ich eine Eigenschaft 'userInteractionEnabled' Eigenschaft in iOS verwenden navigationController.navigationBar staatliche, aber Xcode werfen Fehler,Wie

Bitte schauen Sie dieses Bild (der Name ist 'userInteractionEnabled') ändern: enter image description here

Sie können diesen Code sehen, wenn die App die Methode [self viewDidDisappear:] aufruft, die Xcode Fehler ausgibt. Fehlermeldung: EXC_BAD_ACCESS (Code = 2, Adresse = 0x7fff5bc8bfb8)

Können Sie mich bitte? Warum Xcode Fehler werfen? Warum EXC_BAD_ACCESS werfen? Warum?

+0

Dies könnte Ihnen helfen http://stackoverflow.com/questions/9116557/when-should-i-call-removeobserverforkeypath-from-within-a-closing-viewcontrolle –

Antwort

2

Sie haben ein Rekursionsproblem. Sie ändern die beobachtete Eigenschaft zu dem Zeitpunkt, zu dem Sie die Beobachtung der vorherigen Änderung der Eigenschaft bearbeiten.

Schauen Sie sich die Stack-Trace an. Es bleibt hängen und ruft den Beobachter immer wieder auf, da jede Beobachtung die Eigenschaft wieder ändert.

Ändern Sie eine beobachtete Eigenschaft nicht direkt in der observeValueForKeyPath-Methode.

+0

Vielen Dank – user5465320