The Event Loop
Other than the Tiny.m program in Chapter 4, we have not written a main( ) function for any of our applications.
That’s because the PB template that was used to
create our Calculator application already contained a main( ) function.
Let’s again look at the
main.m
file, which contains the main( )
function used by our Calculator application:
#import <Cocoa/Cocoa.h>
int main(int argc, const char *argv[])
{
return NSApplicationMain(argc, argv);
}Well, that’s not terribly useful. All it does is run
the NSApplicationMain( ) function!
What’s going on here?
When NSApplicationMain( ) runs, it performs the
following steps:
Processes any command-line options
Sends the [NSApplication sharedApplication] class (or factory) message, which creates the NSApplicaton object, initializes the display environment, connects the application to the Window Server, and creates an autorelease pool
Determines the main nib of the application (from the application plist) and then loads this nib with the owner of NSApp, the newly created NSApplication object
Sends the [NSApp run] message to start up the application’s main event loop
The last step is the most important for our current discussion; it starts off the main event loop, where much of the power of Cocoa is found.
The Main Event Loop
When the NSApplication object called NSApp receives the run message, it starts the object’s main event loop. The event loop is a section of code that reads events and performs appropriate functions for those ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access