概念:委托模式顾名思义就是是把一个对象把请求委托给另一个对象处理。
作用:其实ios自带的api很多都是使用委托模式的,如果不理解委托模式的话,我们就很难顺手的使用那些api,而自定义协议之后使用委托,可以让我们方便的处理。
其实ios中的委托机制有点类似于回调机制以及监听器机制。
1、使用协议自定义委托方法以及使用
首先,我们需要使用到@protocol定义协议,该协议中使用@required和@optional定义该协议的方法,两者的区别是前者定义的是其他类遵守协议之后必须得实现的方法,而后者的是随你要不要实现方法都行。
#import <UIKit/UIKit.h>
//用一个@protocol @end 定义协议,定义中使用@required定义的方法的遵守协议之后必须实现的,用@optional的方法使用的协议是随用户要不要实现的
@protocol People<NSObject>
@required
-(void) eat;
-(void) run;
-(void) walk;
@optional
-(void) speak;
@end
//编写类的方法
@interface Person : NSObject
@property (assign) id<People> delegate;
-(void) liveADay;
@end
定义完之后,我们就要来实现那些方法了
#import "Person.h"
@implementatio