码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-09-22 10:46:32      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:interface   protocol   property   程序员   required   

    在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)

标签:interface   protocol   property   程序员   required   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!