ios 笔记之 Iphone程序运行流程
来源:互联网 发布:js中遍历json 编辑:程序博客网 时间:2024/04/29 16:24
main.m文件,iOS应用程序的主入口
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 笔记之 Iphone程序运行流程
- IOS学习笔记1—Iphone程序运行流程
- Iphone程序运行流程
- iPhone程序运行流程浅谈
- iPhone程序运行流程浅谈
- iOS程序运行流程
- iOS程序运行流程
- 获取iOS程序之运行环境是iphone或ipad
- iPhone & iPad程序运行流程浅谈
- 【iOS开发】iOS程序的运行流程
- [ios]howto - IPAD运行IPHONE程序全屏
- IOS学习笔记Objective-c--IOS程序运行流程
- iOS/iPhone 程序文件目录结构以及启动流程
- iOS/iPhone 程序文件目录结构以及启动流程
- iOS/iPhone 程序文件目录结构以及启动流程
- iOS/iPhone 程序文件目录结构以及启动流程
- iOS/iPhone 程序文件目录结构以及启动流程
- iOS/iPhone 程序文件目录结构以及启动流程
- 学习OpenCV:滤镜系列(2)——扩张&挤压
- jsp 内嵌入flex的swf文件
- 100个隐秘的实用搜索引擎
- 在oracle10g 下,导出用户存储过程、视图、函数等
- 跟我一步一步开发自己的Openfire插件
- ios 笔记之 Iphone程序运行流程
- 操蛋的CSDN
- maven 常见问题汇总
- file.close()后CopyFile函数执行失败的原因
- 研究方法
- 从action中获取的json无法显示在ext的grid中解决方法
- RowsVersion就是timestamp
- 关于matlab使用函数作为参数的方法
- Android图片太多内存溢出的问题