On Mon, Apr 13, 2009 at 6:27 AM, Mario Kušnjer
<mario.kusn...@sb.t-com.hr> wrote:
>
> On 2009.04.13, at 11:15, Quincey Morris wrote:
>>
>> Not exactly. Make your application delegate (let's say its class is
>> MyAppDelegate) separate from your window controller. So, the steps are:
>>
>> -- write a MyAppDelegate class (subclass of NSObject)
>>
>> -- in IB, drag an object into MainMenu.xib, and set its class to
>> MyAppDelegate (that causes an instance to be created automatically when your
>> app starts up)
>>
>> -- in IB, connect the 'delegate' outlet of the (predefined) Application
>> object in MainMenu.xib to the MyAppDelegate object (that causes your
>> MyAppDelegate object to actually *be* the application's delegate)
>>
>> -- in your MyAppDelegate class, add an instance variable
>> mainWindowController, of class MainWindowController
>>
>> -- in your MyAppDelegate class, write an applicationDidFinishLaunching:
>> method something like this:
>>
>>        - (void) applicationDidFinishLaunching: (NSNotification *)
>> aNotification {
>>                mainWindowController = [[MainWindowController alloc] init];
>>                [mainWindowController showWindow: nil];
>>        }
>>
>> -- your MainWindowController's init method should look something like
>> this:
>>
>>        - (id) init {
>>                self = [super initWithWindowNibName: @"MainWindow"];
>>                if (!self) ...
>>                ...
>>                return self;
>>        }
>>
>> -- in IB, set the class of File's Owner in MainWindow.xib to
>> MainWindowController
>>
>> I may have left out something, but that's the basic idea.
>
> It's working !
> Thank you!
>
> Tell me please should and in what cases would I keep MyAppDelegate separate
> from MainWindowController and in what not, because I kinda made it work all
> from one place:
>
> #import <Cocoa/Cocoa.h>
>
>
> @interface MainWindowController : NSObject
> {
>        NSWindowController *mainWindowController;
> }
>
> @end
> ________________________________________________________________________________
>
> #import "MainWindowController.h"
>
>
> @implementation MainWindowController
>
> - (void) applicationDidFinishLaunching:(NSNotification *) aNotification
> {
>        mainWindowController = [[NSWindowController alloc]
> initWithWindowNibName:@"MainWindow"];
>        [mainWindowController showWindow:nil];
> }
>
> @end
>
> And about delegates, so if I want to do something else now I have to create
> another object in MainMenu.nib and make it a delegate of proxy object
> Application again ?
> There can be multiple delegations for one Application object ?
> Or should I make one object that will be a delegate but will hold the code
> for all other stuff ?
> Could you explain this to me a little bit more ?

Read the part about delegation in Cocoa Fundamentals Guide:
Communicating with Objects:

http://developer.apple.com/DOCUMENTATION/Cocoa/Conceptual/CocoaFundamentals/CommunicatingWithObjects/CommunicateWithObjects.html

While you're at it, read the whole guide, it's quite good and will
explain a lot of things.

Mike
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to