Reputation:
I've been searching for quite a while now but simply can't find anything, I already have window which I can create, but now when I tried to call makeKeyAndOrderFront for it, there was no application to call it for, so I was wondering if anyone could give a quick example on how do I create an application? I found out that it's NSApplication and I need to setDelegate etc, but not sure what exactly is required. for example, to create a window, I would've needed this code:
NSWindow *window;
window = [[NSWindow alloc] initWithContentRect: NSMakeRect(10, 100, 150, 200)
styleMask:( NSResizableWindowMask | NSClosableWindowMask | NSTitledWindowMask)
backing: NSBackingStoreBuffered
defer: NO];
[window setTitle: @"Test window"];
So can anyone give me related code, but for NSApplication, I already have buttons and window?
Upvotes: 2
Views: 2816
Reputation: 96323
To do this entirely in code, with no nib at all, you first should remove the NSMainMenuNib
entry from your Info.plist file. Then, in main
:
That's the bare minimum. Setting a delegate is, as usual, optional.
When you create an application the usual way, all of this—except creating and adding subviews, which you'd do in IB—is done for you.
Upvotes: 4
Reputation: 34185
Just start from one of the template available in Xcode. Then NSApplication
is automatically set up.
If you want to do in the hard way, by coding everything, this series of blog posts "Working Without Nibs" will help you, which starts here. But you don't want to do that unless you have a good grasp of the inner workings of Cocoa.
So, just stick to what people usually do, and start from the template available in Xcode.
Upvotes: 3