[转]UIApplicationDelegate分析小结
转载地址:http://www.apkbus.com/android-131646-1-1.html
1、是iOS应用程序的起始点,并负责初始化和显示UIWindow;
2、负责加载应用程序的第一个UIView到UIWindow中;
3、帮助管理应用程序的生命周期;
4、接收事件,再转给它的委托"UIApplicationDelegate"来处理;此委托可处理的事件包括:应用程序的生命周期事件如程序启动和关闭、系统事件如来电和记事项警告;
例如
应用BirdsApp的委托类的声明如下:
@interface BirdsAppDelegate : UIResponder <UIApplicationDelegate>
这个类需要实现UIApplicationDelegate协议中的方法,用于处理UIApplication接收的事件。
这些方法有很多,大概是这些:
1、应用完成登录的事件处理方法;
2、应用中断的事件处理方法;
3、内存很低的事件处理方法;
4、重要改变发生的事件处理方法;
在开发时,我们需实现的最重要的方法是application:didFinishLaunchingWithOptions:,其他方法也应该去实现,虽然它们都是可选的。
在XCode4.5版中,如果使用它的模板创建项目,Xcode将会为我们创建遵守UIApplicationDelegate协议的方法,这些方法的实现代码需要我们自己去开发。
例如,创建一个名称为BirdsApp的项目,XCode会自动创建BirdsAppDelegate.h和BirdsAppDelegate.m文件。
- /*BirdsAppDelegate 应用委托类*/
- #import <UIKit/UIKit.h>
- [url=home.php?mod=space&uid=661]@class[/url] BirdSightingDataController;
- @class BirdsMasterViewController;
- @interface BirdsAppDelegate : UIResponder <UIApplicationDelegate>
- @property (strong, nonatomic) UIWindow *window;
- @property (strong, nonatomic) BirdSightingDataController *dataController;
- @property (strong, nonatomic) BirdsMasterViewController *firstViewController;
- @end
- #import "BirdsAppDelegate.h"
- #import "BirdSightingDataController.h"
- #import "BirdsMasterViewController.h"
- @implementation BirdsAppDelegate
- @synthesize window = _window, dataController = _dataController, firstViewController= _firstViewController;
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
- BirdsMasterViewController *firstViewController = (BirdsMasterViewController *)[[navigationController viewControllers] objectAtIndex:0];
- BirdSightingDataController *aDataController = [[BirdSightingDataController alloc] init];
- firstViewController.dataController = aDataController;
- self.dataController = aDataController;
- return YES;
- }
- @end
复制代码
- #import <UIKit/UIKit.h>
- @interface GuessChildAppDelegate : NSObject <UIApplicationDelegate> {
- UIWindow *window;
- UINavigationController* simple_;
- }
- @property (nonatomic, retain) UIWindow *window;
- @end
- #import "GuessChildAppDelegate.h"
- #import "WifeBirthdayController.h"
- @implementation GuessChildAppDelegate
- @synthesize window;
- #pragma mark -
- #pragma mark Application lifecycle
- -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
- //CGRect frame = [[UIScreen mainScreen] bounds];
- window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
- WifeBirthdayController* rootViewController = [[[WifeBirthdayController alloc] init] autorelease];
- simple_ = [[UINavigationController alloc] initWithRootViewController:rootViewController];
- [window addSubview:simple_.view];
- // Override point for customization after application launch.
- [window makeKeyAndVisible];
- return YES;
- }
- -(void)dealloc {
- [window release];
- [super dealloc];
- }
- @end
复制代码
[转]UIApplicationDelegate分析小结的更多相关文章
- [干货]2017已来,最全面试总结——这些Android面试题你一定需要
地址.http://blog.csdn.net/xhmj12/article/details/54730883 相关阅读: 吊炸天!74款APP完整源码! [干货精品,值得收藏]超全的一线互联 ...
- Git之(一)Git是什么[转]
为什么使用Git 孔子曾经曰过的,名正则言顺 言顺则事成. 我们在学习一项新技术之前,弄清楚为什么要学它至关重要,至于为什么要学习Git,我用一段if-else语句告诉你原因: if(你相信我){ 我 ...
- [caffe]linux下安装caffe(无cuda)以及python接口
昨天在mac上折腾了一天都没有安装成功,晚上在mac上装了一个ParallelDesktop虚拟机,然后装了linux,十分钟就安装好了,我也是醉了=.= 主要过程稍微记录一下: 1.安装BLAS s ...
- [Swift]基础
[Swift]基础 一, 常用变量 var str = "Hello, playground" //变量 let str1="Hello xmj112288" ...
- [Ruby on Rails系列]4、专题:Rails应用的国际化[i18n]
1. 什么是internationalization(i18n)? 国际化,英文简称i18n,按照维基百科的定义:国际化是指在设计软件,将软件与特定语言及地区脱钩的过程.当软件被移植到不同的语言及地区 ...
- [译]一个灵活的 Trello 敏捷工作流
[译]一个灵活的 Trello 敏捷工作流 翻译自 An Agile Trello Workflow That Keeps Tasks Flexible Getting things done 可不只 ...
- iOS10收集IDFA,植入第三方广告[终结]--ADMob
[PS: 前段时间,公司做ASO推广,需要在应用中收集IDFA值,跟广告平台做交互!于是有了这个需求--] 1.首先,考虑了一下情况(自己懒 -_-#),就直接在首页上写了一个Banner,循环加载广 ...
- [2017BUAA软工助教]案例分析小结
BUAA案例分析小结 一.作业要求 http://www.cnblogs.com/jiel/p/7631784.html 二.统计数据 总人数 神策数据 博客园博客 必应词典 30 1 12 17 三 ...
- Java基础 之软引用、弱引用、虚引用 ·[转载]
Java基础 之软引用.弱引用.虚引用 ·[转载] 2011-11-24 14:43:41 Java基础 之软引用.弱引用.虚引用 浏览(509)|评论(1) 交流分类:Java|笔记分类: Ja ...
随机推荐
- contenteditable
http://www.w3school.com.cn/tags/att_global_contenteditable.asp 做编辑器经常用这个属性 使得整个编辑区域所见所得 http://www.c ...
- Oracle RAC 11.2.0.4 – RHRL 6.4: DiskGroup resource are not running on nodes. Database instance may not come up on these nodes
使用DBCA创建新库的时候报错: 查看资源状态: $ crsctl stat res -t ------------------------------------------------------ ...
- Windows2000安装Winform Clickonce提示升级系统版本的解决方案
Windows2000安装Winform Clickonce提示升级系统版本.只需要把所有应用的DLL的独立性设置为false就可以了.
- file operation note
从HLE回来,大家拍了2499张照片,分放在N个文件夹下,下面的python将下层目录中文件移动到上层 import os,shutil dst=os.getcwd()+os.sep for path ...
- Java基础之序列化对象——反序列化对象(DeserializeObjects)
控制台程序,使用如下代码能读入包含Junk对象的文件: import java.io.*; import java.nio.file.*; class DeserializeObjects { pub ...
- Java基础之写文件——将多个字符串写入到文件中(WriteProverbs)
控制台程序,将一系列有用的格言写入到文件中. 本例使用通道把不同长度的字符串写入到文件中,为了方便从文件中恢复字符串,将每个字符串的长度写入到文件中紧靠字符串本身前面的位置,这可以告知在读取字符串之前 ...
- Swift实战-QQ在线音乐(AppleWatch版)
1.打开项目QQMusic,然后点菜单:“File-New-Target”添加appleWatch扩展项 2.选择Swift语言,把Include Notification Scene前的勾去掉 (项 ...
- map容器
map容器一般用于对字符串进行编号,主要用于建图方面,例如把城市名按数字进行编号 #include"stdio.h" #include"string.h" #i ...
- c++之路进阶——codevs2333(弹飞绵羊)
2333 弹飞绵羊 2010年省队选拔赛湖南 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description Lostmonk ...
- mongo聚合和mapreduce例子
聚合语句-比较集合内两字段大小 db.test.aggregate([ {$match:{"offlineTime":{$gt:ISODate("2016-09-13T0 ...