第一个IOS程序
来源:互联网 发布:线程池 java 编辑:程序博客网 时间:2024/06/06 13:58
1.每一个应用程序都 有属于自己的UIWindow, UIWidow继承自UIView.
2.UIView面临的问题
1> 谁来控制UIView之间的切换?
2>谁来管理UIView的生命周期?
3>谁来给UIView装配数据?
4>谁来监听UIView的事件?
上面总是的答案是:控制器(UIViewController)
ios程序的运行原理:
1.首先执行main函数
2.执行UIApplicationMain函数
3.UIApplicationMain函数内部
1》创建一个UIApplication对象 是单粒的,一个iOS程序对应一个UIApplication对象
2> UIApplication对象是应用程序的象征
3》开启一个消息循环(main loop),用来监听用户的操作
4》再创建一个UIApplication的delegate对象,负责监听UIApplication的生命周期
5》当UIApplication的生命周期发生改变时,会给delegate发送不同的消息
*当第一次运行程序的时候:
didFinishLaunchingWithOptions (加载完毕)-》
applicationDidBecomeActive (获取焦点)
*当点击home键的时候:applicationWillResignActive (失去焦点)—>
applicationDidEnterBackground (进入后台)
*当再次点击应用图标重新进入应用的时候:applicationWillEnterForeground (进入前台)-》
applicationDidBecomeActive (获取焦点)
UIApplicationMain函数的的参数
//// main.m// 第一个IOS程序//// Created by apple on 14-6-12.// Copyright (c) 2014年 itcast. All rights reserved.//#import <UIKit/UIKit.h>#import "WFAppDelegate.h"int main(int argc, char * argv[]){ @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([WFAppDelegate class])); }}
第3个用来指定UIApplication的类名(或者子类),如果是nil相当于
NSStringFromClass([UIApplication class])第4个参数用来指定uIApplication的代理
应用程序加载后,初始化控制器
#pragma mark 在应用程序加载完毕之后调用- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ NSLog(@"didFinishLaunchingWithOptions-加载完毕"); // 初始化一个窗口 self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // 传入xib文件名来初始化一个控制器 self.viewController = [[[MJViewController alloc] initWithNibName:@"MJViewController" bundle:nil] autorelease]; // 设置窗口的根控制器 self.window.rootViewController = self.viewController; // 上面的代码内部执行了下面代码的操作 // [self.window addSubview:self.viewController.view]; // 窗口不会默认显示,需要调用方法来显示 // keyWindow是主窗口,只有主窗口才能跟用户正常交互 [self.window makeKeyAndVisible]; // self.window.hidden = NO; return YES;}
- 第一个IOS程序
- 第一个IOS程序
- 第一个IOS程序
- 第一个ios程序
- IOS第一个程序helloworld
- 0811 第一个iOS程序
- 148,第一个IOS程序
- 开发第一个iOS程序
- IOS之第一个IOS程序
- ios学习笔记:第一个ios程序
- IOS开发 --- IOS 第一个程序
- 第一个ios小程序总结
- 创建第一个IOS程序 Hello World
- ios 第一个程序 简要总结
- 开始iOS第一个程序的学习
- 第一个IOS程序(代码版)
- iOS 第一个程序手工写HelloWorld
- (ios7)第一个ios程序helloworld
- 高级java进阶之类的卸载
- Guava学习笔记:Guava cache
- 农业工作的不同类型是什么?
- hdu3669之二维斜率DP
- Linux多线程学习
- 第一个IOS程序
- XMPP
- 偏序与全序
- quick sort
- IOS:Xcode 5.0 failed to get the task for process解决方法
- 链式二叉树的前序创建、递归前序遍历、非递归堆栈前序遍历、前序销毁以及求二叉树的深度
- Qt视口,窗口间坐标转换
- zigbee智能家居基础扫盲
- Cadence OrCAD capture CIS在win7 64位下打开未响应的根本解决方法