1.观察者模式
观察者模式定义了一种一对多的依赖关系,当一个对象的状态发生改变的时,所有依赖它的对象都会得到通知且自动更新。
在iOS中观察者模式中常用的有两种方法:Notification、KVO。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notice:) name:@"tongzhi" object:nil];
-(void)notice:(id)sender{
NSLog(@"%@",sender);
}
2.代理模式
当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现
iOS常用的代理模式
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
// Row display. Implementers should *always* try to reuse cells by setting each cell's reuseIdentifier and querying for available reusable cells with dequeueReusableCellWithIdentifier:
// Cell gets various attributes set automatically based on table (separators) and data source (accessory views, editing controls)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
3.单例模式
单例类保证了应用程序的生命周期中有且仅有一个该类的实例对象,而且易于外界访问。
“单例模式”是我们在iOS中最常使用的设计模式之一。单例模式不需要传递任何参数,就有效地解决了不同代码间的数据共享问题。
iOS中大量使用单例
UIApplication * application = [UIApplication sharedApplication];
NSUserDefaults * userdefaults = [NSUserDefaults standardUserDefaults];