To do ipone development it is necessary to know the life cycle of the iphone program, that is, to click on the application icon to start the program to the exit program, in the process of running the code in the end what happened, only the understanding of the life cycle, it is conducive to our developers to develop better applications.
When the user clicks on a picture, the program starts running, starting with the main function:
int main (int argc, char *argv[]) {
@autoreleasepool {
Return Uiapplicationmain (argc, argv, Nil, Nsstringfromclass ([Appdelegate class]));
}
}
Main function:
Uiapplicationmain (argc, argv, Nil, Nsstringfromclass ([Appdelegate class]) This sentence means creating a UIApplication object and setting his delegate class, Here the third parameter nil means that the default is to create a UIApplication object, or it can be written as a subclass of UIApplication, immediately following the argument that means setting the UIApplication object's delegate,
Within Uiapplicationmain, a similar code is implemented
UIApplication *app = [[UIApplication alloc] init]; Uiapplicationdelegate *delegate = [[Uiapplicationdelegate alloc] init];app.delegate = delegate;
The UIApplication object is similar to the commander in chief, and the UIApplication object is similar to his, commander-in-chief just command, with something to do,
After the UIApplication object is created, it exists as a singleton until the end of the program, and can be obtained by [[UIApplication Sharedapplication]delegate] To obtain his proxy class, as in the following code
Appdelegate * Delegate = (appdelegate *) [[uiapplicationsharedapplication]delegate];
UIApplication object is created, and its delegate is set up, let's see what his delegate (his men) have done, into the APPDELEGATE.M
-(BOOL) Application: (UIApplication *) application didfinishlaunchingwithoptions: (nsdictionary*) launchOptions
This message is similar to the ready event of jquery and tells you that everything is in place and you can start. It can also be likened to a presidential oath, and you can decide to propose the Secretary of State and the cabinet, as well as the arrangement of senior positions such as the chairman of the Federal Reserve.
Applicationwillterminate
This heralds the end of the process.
Map to the current program the President of the Kingdom, is your term of office, To do the handover. Now the iOS app can support the background to run, this method with less, unlike in the early times, when the user clicked on home, the application directly ended, will call this method, now click Home, the application goes to the background processing
-(void) Applicationwillresignactive: (uiapplication *) application
Description: When the application is going to be inactive, during which time the application does not receive messages or events, such as coming to the phone
-(void) Applicationdidbecomeactive: (uiapplication *) application
Description: When the application goes into active execution, this is exactly the opposite of the method above
-(void) Applicationdidenterbackground: (uiapplication *) application
Description: Called when the program is pushed to the background. So to set up the background to continue to run, then in this function can be set, such as the user presses home to do other things, the program into the background can be in this function to save some data, so that the user to open the application again from the background, it is convenient to continue to play,
-(void) Applicationwillenterforeground: (uiapplication *) application
Description: Called when the program is going back to the foreground from the background, which is exactly the opposite of the method above.
After explaining some of the proxy methods above, give some examples to illustrate the order in which methods are called
Called when the user taps the icon
1.-(BOOL) Application: (UIApplication *) application didfinishlaunchingwithoptions: (nsdictionary *) launchOptions
2. The Applicationdidbecomeactive program is already active,
When the program is open, the user presses the home and the program enters the background call
1.applicationWillResignActive
2.applicationDidEnterBackground
When the user clicks the icon from the background to open the app again
1.applicationWillEnterForeground
2.applicationDidBecomeActive
Tips:
In a program that supports background execution, Applicationdidenterbackground: Replaces Applicationwillterminate: An event saved as a program snapshot. (now the app basically supports background execution)
An analysis of the life cycle of IOS application