ios 笔记之 Iphone程序运行流程
2013-06-16 20:08
211 查看
main.m文件,iOS应用程序的主入口
main函数的两个参数为命令行参数,在ios开发中不会用到这些元素,包括这两个参数是为了与标准ANSI C保持一致
UIApplicationMain函数:
为应用程序提供主入口点,创建新的应用程序实例和它的委托。委托负责处理应用程序状态变更,并为那些变更提供响应
启动和加载窗口后,应用程序委托退居幕后,几乎所有应用程序操作都转到UIViewController类的某个子类,应用程序委托通常不再发挥作用,除非应用程序将要结束,或者出现内存问题。
main() 调用UIApplicationMain函数 ---> 应用程序委托(AppDelegate) ----> 视图控制器(UIViewConstroller)
AppDelegate解说
另:应用图标和应用图像
Icon.png和Default.png,前者是应用图标,后者是启动画面
Icon.png尺寸分别准备 29*29(在设置里显示) 57*57(桌面图标) 512*512(发布展示用)各一张
---> 应用程序委托(AppDelegate) ----> 视图控制器(UIViewConstroller)
main函数的两个参数为命令行参数,在ios开发中不会用到这些元素,包括这两个参数是为了与标准ANSI C保持一致
UIApplicationMain函数:
为应用程序提供主入口点,创建新的应用程序实例和它的委托。委托负责处理应用程序状态变更,并为那些变更提供响应
int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([YZAppDelegate class])); } }
启动和加载窗口后,应用程序委托退居幕后,几乎所有应用程序操作都转到UIViewController类的某个子类,应用程序委托通常不再发挥作用,除非应用程序将要结束,或者出现内存问题。
main() 调用UIApplicationMain函数 ---> 应用程序委托(AppDelegate) ----> 视图控制器(UIViewConstroller)
AppDelegate解说
#pragma mark 在应用程序加载完毕之后调用 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSLog(@"didFinishLaunchingWithOptions-加载完毕"); // 初始化一个窗口 self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for customization after application launch. // 传入xib文件名来初始化一个控制器 self.viewController = [[[YZViewController alloc] initWithNibName:@"YZViewController" bundle:nil] autorelease]; // 设置窗口的根控制器 self.window.rootViewController = self.viewController; // 上面的代码内部执行了下面代码的操作 // [self.window addSubview:self.viewController.view]; // 窗口不会默认显示,需要调用方法来显示 // keyWindow是主窗口,只有主窗口才能跟用户正常交互 [self.window makeKeyAndVisible]; // self.window.hidden = NO; return YES; } #pragma mark 程序失去焦点的时候调用(不能跟用户进行交互了) - (void)applicationWillResignActive:(UIApplication *)application { NSLog(@"applicationWillResignActive-失去焦点"); // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. } #pragma mark 当应用程序进入后台的时候调用(点击HOME键) - (void)applicationDidEnterBackground:(UIApplication *)application { NSLog(@"applicationDidEnterBackground-进入后台"); } #pragma mark 当应用程序进入前台的时候调用 - (void)applicationWillEnterForeground:(UIApplication *)application { NSLog(@"applicationWillEnterForeground-进入前台"); } #pragma mark 当应用程序获取焦点的时候调用 // 获取焦点之后才可以跟用户进行交互 - (void)applicationDidBecomeActive:(UIApplication *)application { NSLog(@"applicationDidBecomeActive-获取焦点"); } #pragma mark 程序在某些情况下被终结时会调用这个方法 - (void)applicationWillTerminate:(UIApplication *)application { NSLog(@"applicationWillTerminate-被关闭"); }
另:应用图标和应用图像
Icon.png和Default.png,前者是应用图标,后者是启动画面
Icon.png尺寸分别准备 29*29(在设置里显示) 57*57(桌面图标) 512*512(发布展示用)各一张
---> 应用程序委托(AppDelegate) ----> 视图控制器(UIViewConstroller)
相关文章推荐
- IOS学习笔记1—Iphone程序运行流程
- IOS学习笔记1—Iphone程序运行流程
- IOS学习笔记Objective-c--IOS程序运行流程
- 斯坦福大学公开课 iOS应用开发教程学习笔记(第七课)UIToolbar、iPad 和iPhone的通用程序
- 《VC++深入详解》学习笔记----Lesson1: Windows程序运行原理及程序编写流程
- iOS学习笔记(二.iOS程序执行流程)
- [ios]howto - IPAD运行IPHONE程序全屏
- Iphone程序运行流程
- 获取iOS程序之运行环境是iphone或ipad
- iOS/iPhone 程序文件目录结构以及启动流程
- iOS新手学习第一天 学习笔记 iPhone的第一个程序
- 【iOS开发】iOS程序的运行流程
- java笔记 chapter3 包装类,类型转换,程序的运行流程,面向对象的三大特征
- iOS程序运行流程
- C++学习笔记1(Windows程序运行原理及程序编写流程)
- C++学习笔记1(Windows程序运行原理及程序编写流程)
- 2011斯坦福大学iOS应用开发教程学习笔记(第七课)Pad和iPhone的通用程序
- iOS程序运行流程
- iPhone程序运行流程浅谈
- 【学习笔记】用Hadoop在MapReduce中WordCount简单程序运行详细流程