KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm currently trying learning Cocoa and I am not sure if I understand that correctly... It's about delegates and controllers . At first: What's the difference between the two? Sometimes I see code where a class is called AppController , sometimes - with more or less the same content - AppDelegate . So, if I understand it correctly, a delegate is a simple object that receives messages when a certain event occurs. For example: @interface WindowController : NSObject <NSWindowDelegate> @end @implementation WindowController - (void)windowDidMiniaturize:(NSNotification *)notification { NSLog(@"-windowDidMiniaturize"); } @end Now, I use this code to make it a delegate of my window : @interface TryingAppDelegate : NSObject <NSApplicationDelegate> { NSWindow *window; } @property (assign) IBOutlet NSWindow *window; @property (retain) WindowController *winController; @end With the following implementation: @implementation TryingAppDelegate @synthesize window; @synthesize winController; - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { NSLog(@"-applicationDidFinishLaunching:"); self.winController = [[WindowController alloc] init]; [window setDelegate:winController]; [self.winController release]; } @end And now, whenever I minimize window , it will send a -windowDidMiniaturize: message to WindowController . Do I have that right? If so, why don't you just subclass NSWindow rather than bothering with an additional class you have to take care of?
Tags (comma-separated)
Save Edits
Cancel