首页 > 其他 > 详细

黑马程序员-4.代理(delegate)

时间:2014-09-22 10:27:43      阅读:337      评论:0      收藏:0      [点我收藏+]

    在iOS开发中经常要在两个类之间进行通信,比如常见的时当一个View数据修改之后,需要在view的controller上做点坏事,这个时候就需要使用代理,一般代理都配合协议使用。

在定义协议时,可以通过@required与@optional来配置遵守这个协议必须去实现的方法和可以选择的方法。

例如:

A类的事件需要通知B类,B成为A的代理

A类中写一个协议

@protocol XXDelegate <NSObject>
@optional
-(void) function_name:()A类
@interface A类
@property (nonatomic,weak) id <XXDelegate> delegate
@end


在事件中调用

if([self.delegate respondToSelector:@selector(function_name:)]){
[self.delegate function_name:self];
}


在B类中声明 <XXDelegate>

实现function_name 方法


黑马程序员-4.代理(delegate)

原文:http://9143994.blog.51cto.com/9133994/1556792

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!