91
votes

I need to quit Cocoa App when I click the red button on upper left.

enter image description here

I found this page saying

So what you need to do first is have the window you want to close be connected to an IBOutlet in the nib. For this example i connected the window to an outlet named "mainWindow".

How can I do this? I found Windows in xib file, but how can I connect it to an IBOutlet in the nib?

Or, is there any way to quit the cocoa app clicking red button?

EDIT

I should have put the code in the automatically generated delegate file.

2

2 Answers

240
votes

There is an optional method for the application's delegate which will do this automatically. All you have to do is add this to the implementation. You don't need to create an outlet or anything.

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication {
    return YES;
}
8
votes

Take a look at the NSApplicationDelegate protocol, especially to the applicationShouldTerminateAfterLastWindowClosed:method...

http://developer.apple.com/library/mac/#documentation/cocoa/reference/NSApplicationDelegate_Protocol/Reference/Reference.html