NSTextField - Delegateprobleem
7 september 2005 - 09:26   
geplaatst door: mr omvlee
Ik probeer een progje te schrijven dat, terwijl je typt in een  NSTextField de letters telt...
Kortom; gewoon een klein oefeningetje in Delegates,
maar nu wil het niet werken:

Ik heb het volgende;


-(id)init
{
[super init];
[textField setDelegate:self]; //textfield is een outlet naar dat NSTextField
return self;
}

-(void)controlTextDidChange:(NSNotification *)aNotififaction
{
NSLog(@"halllo?"); //maar dit word niet aangeroepen...
}

Maar mn delegate word maar niet aangeroepen, wat doe ik fout???

Alvast bedankt...

NSTextField - Delegateprobleem
7 september 2005 - 12:13    reactie #1
geplaatst door: mennodeij
Wat voor class is self hier?

Ik denk dat op het moment dat je


[textField setDelegate:self];

aanroept, dat textfield nog niet is geinitialiseerd (==nil).

Test dit met


if (textField == nil)
 NSLog(@"uh oh, nog niet geïnitialiseerd");
[textField setDelegate:self];

Als je class geerfd is van NSWindowController, en het window waarin je textfield staat het window is van die window controller, dan kun je in -(void) awakeFromNib in de window controller klasse de delegate zetten. Dan is-ie wschl wel geinitialiseerd.

Vu-ja-dé: the odd feeling nothing has ever happened before...
NSTextField - Delegateprobleem
7 september 2005 - 12:40    reactie #2
geplaatst door: mr omvlee
zo te zien is het textfield wel geinitialiseerd (die NSLog mededeling kreeg ik ook niet)
Deze code staat in AppController, een subclass van NSObject, dus dat zou toch gewoon moeten werken?
:wacko:
NSTextField - Delegateprobleem
7 september 2005 - 15:01    reactie #3
geplaatst door: mennodeij
Ik heb een testje gemaakt, en als ik het doe zoals jij, dan krijg ik wél dat textfield == nil tijdens de init. Je kunt echter in interface builder de delegate van je textfield instellen op AppController (als je die in interface builder tenminste hebt geinstantieerd).
Vu-ja-dé: the odd feeling nothing has ever happened before...
NSTextField - Delegateprobleem
7 september 2005 - 15:18    reactie #4
geplaatst door: mr omvlee
oowh! dat wist ik niet, kun je vertellen hoe precies?
NSTextField - Delegateprobleem
7 september 2005 - 16:17    reactie #5
geplaatst door: mr omvlee
stom van me, ik heb het al gevonden, bedankt