[iPhone学习笔记二]谈谈代理类(delegate class)
2012-03-08 00:33
381 查看
[iPhone学习笔记二]谈谈代理类(delegate class)
程序的代理对象是开发者自己实现的对象,主要负责监听程序的高级行为。代理机制用于避免继承复合UIKit对象(例如UIApplication对象)。使用代理不需要子类继承或重写父类的方法,只要保持复合对象不变,将需要添加或重写的代码放到代理对象中。当有事件发生,复合对象会发送消息给代理对象。 这有点像“钩子”,通过这些“钩子”来执行代码和实现需要的行为。
程序代理负责处理很多重要的系统消息没一个iPhone程序都必须有。这个对象可以是任何实现了UIApplicationDelegate协议(protocol)的对象的实例,UIApplicationDelegate协议在程序生命周期内定义了很多“钩子”和实现自定义行为的方法。尽管不要求开发者实现所有这些方法,但是下面这些方式是必须实现的:
applicationDidFinishLaunching :开发者可以用在这个方法中完成自定义的初始化任务,比如加载数据或用户界面;也可以恢复程序上一次退出时的状态。
applicationWillTerminate :开发者可以在这个方法中将重要的数据和程序状态保存起来,也可以再这个方法中进行清理工作比如删除临时文件。
程序的代理对象是开发者自己实现的对象,主要负责监听程序的高级行为。代理机制用于避免继承复合UIKit对象(例如UIApplication对象)。使用代理不需要子类继承或重写父类的方法,只要保持复合对象不变,将需要添加或重写的代码放到代理对象中。当有事件发生,复合对象会发送消息给代理对象。 这有点像“钩子”,通过这些“钩子”来执行代码和实现需要的行为。
程序代理负责处理很多重要的系统消息没一个iPhone程序都必须有。这个对象可以是任何实现了UIApplicationDelegate协议(protocol)的对象的实例,UIApplicationDelegate协议在程序生命周期内定义了很多“钩子”和实现自定义行为的方法。尽管不要求开发者实现所有这些方法,但是下面这些方式是必须实现的:
applicationDidFinishLaunching :开发者可以用在这个方法中完成自定义的初始化任务,比如加载数据或用户界面;也可以恢复程序上一次退出时的状态。
applicationWillTerminate :开发者可以在这个方法中将重要的数据和程序状态保存起来,也可以再这个方法中进行清理工作比如删除临时文件。
相关文章推荐
- 学习笔记-UITableView的数据源(dataSource)和代理(delegate)
- 学习笔记-UITableView的数据源(dataSource)和代理(delegate)
- iOS学习笔记-----使用代理(Delegate)的页面传值
- iOS阶段学习第30天笔记( UIViewController—Delegate(代理) )
- 设计模式C++学习笔记之二(Proxy代理模式)
- iPhone开发学习笔记007——Xcode4.2下iPhone多视图开发(自已创建MainWindow.xib和不用MainWindow.xib两种实现)
- c#学习笔记——class
- 设计模式学习笔记-代理模式
- angularjs学习笔记--ng-class的三种使用方法
- Soot 学习笔记 5:使用 Soot 创建 Java class
- jdk动态代理最详细讲解---学习笔记
- JVM学习笔记2(class文件校验器)
- Delegate学习笔记之事件订阅
- java动态代理学习笔记
- C#/WPF学习笔记:class 与 struct
- C#学习笔记之一(basic, class, function,array, collection
- [原]spring学习笔记8.2动态代理基础
- 设计模式C++学习笔记之二(Proxy代理模式)
- iphone学习笔记(实例解析)
- Object-C 学习笔记(十九)---#include 、#import 、@class