标签:field tom ldd not 委托 har shared 应用设置 应用程序
一、单例模式
1. 什么是单例模式?
在iOS应用的生命周期中,某个类只有一个实例。
2. 单例模式解决了什么问题?
想象一下,如果我们要读取文件配置信息,那么每次要读取,我们就要创建一个文件实例,然后才能获取到里面的相关配置信息,这样如果,我们如果要多次读取这个文件的配置信息,那就要创建多个实例,这样严重浪费了内存资源。而实际应用中,当我们要用到的类可能是要反复用到的,一般可以考虑使用单例模式。这样可以大大降低创建新实例带来的内存浪费。
3. 单例模式的实现原理
一般会封装一个静态属性,并提供静态实例的创建方法(该方法瞎用GCD技术保证了整个程序生命周期只运行一次:dispath_once())。
4. 应用实例
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"www.baidu.com"]]; NSFileManager *FileManager = [NSFileManager defaultManager];
二、委托模式
1. 什么是委托模式?
2. 委托模式解决了什么问题?
委托时为了降低一个对象的复杂度和耦合度,使其主要框架类能够具有通用性,其他旁枝末节的方法留给委托对象去实现。
3. 委托模式的实现原理
4. 应用实例
UITextFieldDelegate
#import "ViewController.h" @interface ViewController () <UITextFieldDelegate> @property (strong, nonatomic) UITextField *textField; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.textField.delegate = self; } @end
三、观察者模式
1. 什么是观察者模式?
观察者模式也叫发布/订阅模式。比如订阅天气预报,其中有如下三个角色:
第一步:手机用户订阅中国移动短信中心的天气预报业务。
第二步:下雨时,气象局发布一条信息给中国移动短信中心:“有雨”
第三步:手机用户就会收到中国移动短信中心的信息:“有雨”,接着用户就会知道应该采取什么的动作:“出门带伞”
气象局与用户之间的通信是匿名的,用户只知道是中国移动发的短息,不知道气象局的存在。
2. 观察者模式解决了什么问题?
消除具有不同行为的对象之间的耦合,通过这一模式,不同对象可以协同工作,同时它们也可以被复用于其他地方
3. 观察者模式的实现原理
标签:field tom ldd not 委托 har shared 应用设置 应用程序
原文地址:http://www.cnblogs.com/gzhu-lkun/p/5994691.html