Ich habe einige Code, der KVO schwer verwendet und haben addObserver: forKeyPath: und removeObserver: forKeyPath: an mehreren Stellen. Die App stürzt gelegentlich mit "Kann den Beobachter für den Schlüsselpfad nicht entfernen" ab.Ist es sicher, eine Ausnahme von [NSObject removeObserver: forKeyPath:] abzufangen?
Ich frage mich, ob es sicher wäre, einfach die Ausnahme zu versuchen/zu fangen, um zu verhindern, dass die App abstürzt. Ich weiß, es ist nicht der beste Ansatz beim Umgang mit KVO, aber ich muss etwas Zeit investieren, bevor ich den Code aufräumen kann.
Sie sollten wahrscheinlich zuerst versuchen, die Natur der Fehler zu verstehen und entscheiden, ob Sie sie ignorieren können. Try/Catch wird helfen, wenn Sie sich dazu entscheiden: http://stackoverflow.com/questions/1582383/how-can-i-tell-if-an-object-has-a-key-value-observer-attached – Tala