iOS代理模式梳理

第一步:定义协议

@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 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容