iOS代理模式梳理

2016-11-17  本文已影响37人  RunnerFL

第一步:定义协议

@protocol ModelDelegate

-(void)letModelDoSomething:(NSString *)aString;

@end

第二步:设置代理属性来存储

@interface Model : NSObject

@property(nonatomic,strong)iddelegate;

第三步:为Model指定代理对象,并使代理类遵循既定协议

interface ViewController ()<ModelDelegate>//遵循既定协议

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

Model *m=[[Model alloc]init];

m.delegate=self;//指定代理对象

[m playDelegate];

// Do any additional setup after loading the view, typically from a nib.

}

第四步:代理类实现协议中的方法

-(void)letModelDoSomething:(NSString *)aString

{

NSLog(@"%@",aString);

}

第五步:委托方通知代理来执行任务.

-(void)playDelegate

{

[_delegate letModelDoSomething:@"FSFDOIEHRGFEIORFH"];

}

第六步:调用委托方的通知方法,可以使timer时间,可以使触摸事件,也可以通过代理方里实例化的对象来调用

Model *m=[[Model alloc]init];

m.delegate=self;

[m playDelegate];

完整代码:delegate 

上一篇下一篇

猜你喜欢

热点阅读