2009-07-16 4 views
2

Angenommen, Sie haben eine Fenster-Nib, die einem NSWindowController gehört, der die Nib lädt.NSWindowController zirkuläre Abhängigkeit durch Bindungen verursacht?

Die NSWindowController hat eine IBOutlet gebunden (via Interface Builder) auf einen UI-Steuerelement auf dem Fenster.

Ist es wahr, dass Sie nicht die Fenstersteuerung durch die Freigabe entsorgen können, weil die Bindung eine unzerbrechliche zirkuläre Abhängigkeit zwischen der Fenstersteuerung und der Steuerung bewirkt?

Kennen Sie eine häufig auftretende Situation, die zu ähnlichen zirkulären Abhängigkeiten führen kann?

Antwort

2

In Situationen wie diesen, eine fokussiertes Beispielanwendung zu schreiben, und im Debugger Ausführung Beobachtung ist eine gute Möglichkeit, zu verstehen, wie die Dinge funktionieren.

Einfach-Bindung durch Besitzer Datei sollte (auf 10.4 und höher) nicht dazu führen Zyklen beibehalten. NSWindowController (und NSViewController) unternehmen Schritte, um dieses Problem zu vermeiden.

Wenn Sie in einer Situation führen kann, wo Ihre Bindungen Zyklen beibehalten verursachen, gibt es Strategien, um sie zu vermeiden. (Weitere Details für Ihre spezifische Konfiguration sind wahrscheinlich notwendig, um spezifische Empfehlungen zu erhalten.)