Hallo,
in meiner Anwendung ist es recht unübersichtlich. Fast alles ist in einer nib untergebracht.
Habe viele Fenster, Views, Controller (NSArrayController) und Bindings, die ich über den IB definiert habe.
Wie stelle ich es nun am geschicktesten an, dass ich das Ganze auf mehrere nibs verteilen kann, ohne dass ich die fähigkeit verliere die Bindings im IB definieren zu können - falls sich der Controller, auf den das binding zugreift in einer anderen nib befindet.
Folgendes wäre ein denkbarer Weg:
Zwei Nibs A und B. Nib A enthält einige NSArrayController, die auch B kennen soll. In B legt man im IB die NSArrayController "pseudoinstanzen" an, die man benötigt. Im Controller von B fügt man methoden zu, die erlauben die NSArrayController in B, welche als Outlets im Controller von B verfügbar sind zu setzen. Der Controller von A erzeugt dann den Controller von B und ruft B's methoden auf, um die als outlets verfügbare NSArrayController zu setzen.
Ist das ein empfehlenswerter weg?
Was auch denkbar wäre: NSApp kennt alle NSArrayController. Die Controller der Nib files holen sich selbst durch [[NSApp delegate] einNSArrayControllerDenIchBenötige] die Zeige zu den ArrayControllern selbst.
Die Controller haben Outlets wie:
IBOutlet NSArrayController *einControllerDenIchBaldKennenWerde;
Im IB ist der NSArrayController angelegt aber er hat noch alle Standardwerte.
Beim Laden der nib setzt dann der arraycontroller das outlet.
Oder wie macht ihr sowas?
Bindings zur laufzeit will ich vermeiden...
in meiner Anwendung ist es recht unübersichtlich. Fast alles ist in einer nib untergebracht.
Habe viele Fenster, Views, Controller (NSArrayController) und Bindings, die ich über den IB definiert habe.
Wie stelle ich es nun am geschicktesten an, dass ich das Ganze auf mehrere nibs verteilen kann, ohne dass ich die fähigkeit verliere die Bindings im IB definieren zu können - falls sich der Controller, auf den das binding zugreift in einer anderen nib befindet.
Folgendes wäre ein denkbarer Weg:
Zwei Nibs A und B. Nib A enthält einige NSArrayController, die auch B kennen soll. In B legt man im IB die NSArrayController "pseudoinstanzen" an, die man benötigt. Im Controller von B fügt man methoden zu, die erlauben die NSArrayController in B, welche als Outlets im Controller von B verfügbar sind zu setzen. Der Controller von A erzeugt dann den Controller von B und ruft B's methoden auf, um die als outlets verfügbare NSArrayController zu setzen.
Ist das ein empfehlenswerter weg?
Was auch denkbar wäre: NSApp kennt alle NSArrayController. Die Controller der Nib files holen sich selbst durch [[NSApp delegate] einNSArrayControllerDenIchBenötige] die Zeige zu den ArrayControllern selbst.
Die Controller haben Outlets wie:
IBOutlet NSArrayController *einControllerDenIchBaldKennenWerde;
Im IB ist der NSArrayController angelegt aber er hat noch alle Standardwerte.
Beim Laden der nib setzt dann der arraycontroller das outlet.
Oder wie macht ihr sowas?
Bindings zur laufzeit will ich vermeiden...
Die Objective-Cloud ist fertig wenn sie fertig ist. Beta heißt Beta.
Objective-C und Cocoa Band 2: Fortgeschrittene
Cocoa/Objective-C Seminare von [co coa:ding].
Objective-C und Cocoa Band 2: Fortgeschrittene
Cocoa/Objective-C Seminare von [co coa:ding].