iOS:delegate(协议)的简单应用

1.定义协议(协议中存放代理的任务).我们对于有的自定义的布局视图,并不会带有协议,为了满足我们有时候的开发需求,需要添加代理.那么我们就要先定义一个协议.如下:在自定义视图的DelegateView.h文件中定义一个DelegateViewDelegate协议,协议默认的都是必须的实现的方法,可以根据需求来添加可选实现的方法.

2.定义代理属性,用来存储代理对象.

3.为DelegateView指定代理对象.(找个代理干活),例如:我们定义一个红色视图(要求点击时改变自身视图颜色),然后为它指定一个代理对象self(由于定义的视图在视图控制器中),当前的self就是视图控制器类.指定它为代理.有什么活让它干.

4.代理类要服从协议.

5.代理类实现协议中的方法.在这只实现了一个必须实现的方法

6.委托方通知代理来执行任务.委托方DelegateView通知代理(视图控制器)来执行这个任务.

代理的作用:完成委托方交给的任务,委托方有一些任务自己不想完成,但是还需要要实现,则将该任务存放到协议中,由代理完成.但是代理并不会主动的执行任务,需要委托方通知代理.

demo中协议方法

@protocol TouchDelegate<NSObject>

//处理触摸开始时的响应事件
-(void)handleTouchBegin:(TouchView *)view;

@optional
//触摸结束时的响应事件
-(void)handleTouchEnd:(TouchView *)view;

//触摸移动时的响应事件
-(void)handleTouchMove:(TouchView *)view;

@end

demo:https://github.com/ITHanYong/Delegate.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值