Application delegate

27/02/2010 - 15:00 von usenet | Report spam
Danke für die convinienceAllocators und ihr autorelease.
Ich glaub' ich hab' noch einen meiner Cocoa-Rookie-Brianos.



In meiner App habe ich ein mainMenu.nib. Dieses Nib hat als Files Owner
eine class AppController : NSApplication die auch ein delegate der App
werden soll.

Neben der üblichen Verstrickung im nibfile selber rufe ich auch von
anderen Stellen mittels [NSApp foo] Funktionen darin auf. Das
funktioniert.

Nur die Delegation aus der App selber funktoniert nicht. Ich habe da
auch ein - (void)applicationDidFinishLaunching:(NSNotification
*)notification drin. Nur dieses wird nicht aufgerufen.



Jetzt frage ich zwei Dinge:

[AppController sharedApplication];
funktioniert zum initialisieren da es die Klassenimplementation schon
vor dem Laden des nib gibt.

//[NSApp setDelegate:]
was trage ich hier ein, ist dieser Aufruf nötig? Bisher habe ich kein
Objekt von AppController

[NSBundle loadNibNamed:@"MainMenu.nib" owner:NSApp];
Jetzt gibt es ein AppController Objekt (als FilesOwner vom nib).


Was habe ich diesmal vielleicht schon gelesen aber noch nicht
verstanden?

thx, Hado.



Hado Hein (KSK, DTHG), Berlin
www.beleuchtungsbildner.de - Stage Lighting Directing
www.batchmaker.de - Stage Lighting Design, Control and Routing
 

Lesen sie die antworten

#1 usenet
27/02/2010 - 17:23 | Warnen spam
Hado Hein wrote:
Nur die Delegation aus der App selber funktoniert nicht. Ich habe da
auch ein - (void)applicationDidFinishLaunching:(NSNotification
*)notification drin. Nur dieses wird nicht aufgerufen.

Was habe ich diesmal vielleicht schon gelesen aber noch nicht
verstanden?



Danke, hat erledigt.

Ich hatte in dem nibf alles schön gemacht, FilesOwner war eine
AppController : NSApplicaton.
Das ist jetzt eine "normale" AppController : NSObject geworden

Nur wurde diese nie als AppDelegate aufgerufen sondern immer nur durch
ihre interne nib-Verstrippung.

Nachdem ich die AppController class auch in main anlege funktioniert es.



Wobei ich mich frage ob ich jetzt nicht zwei AppController Objekte habe,
weil die FilesOwner class vom nibfile immer noch AppController ist. Das
kriege ich auch nicht so schnell getrennt weil sich da diverse
Funktionen tummeln:

[NSApplication sharedApplication];
1 AppController *AC = [[AppController alloc] init];
[NSApp setDelegate:AC];
2 [NSBundle loadNibNamed:@"MainMenu.nib" owner:NSApp];

Hado Hein (KSK, DTHG), Berlin
www.beleuchtungsbildner.de - Stage Lighting Directing
www.batchmaker.de - Stage Lighting Design, Control and Routing

Ähnliche fragen