`
lkjxshi
  • 浏览: 28318 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

关于objectiveC中的delegate的理解

阅读更多
需求是这样的:
A类要往B类传值

实现方法:delegate

sample:

1. 首先建一个delegate类如PassValueDelegate.m,已经存在的就忽略建立。然后在头文件PassValueDelegate.h里面定义一个protocol

@protocol PassValueDelegate

- (void)setValue:(NSString *)value;

setValue是你在B类里面要实现的。

然后在A.h里面定义
@interface A:TTTableViewController{
id<PassValueDelegate> passDelegate;

}

@property(nonatomic, retain) id<PassValueDelegate> passDelegate;

在A.m里面
@synthesize passDelegate;

需要传值的方法里比如说你是一个按钮响应事件
buttonClicked:(id) sender{
B *_b  = [[B alloc] init];
self.passDelegate = _b;
[self.passDelegate setValue: NEED_PASS_VALUE];

在B.h里面
@interface B : NSObject <PassValueDelegate> {
    
    NSString* _value;
}

- (void) setValue:(NSString *) value;

在B.m里面

- (void) setValue:(NSString *) value{
    _value = value;
    
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics