读书人

关于objectiveC中的delegate的懂得

发布时间: 2012-07-24 17:47:58 作者: rapoo

关于objectiveC中的delegate的理解

举个例子,假设两个View:superView 和 subView,在subView中,实现了Touchesbegin 函数。现在要做的是:当你点击subview的时候,要让superview中的某个变量+1,这时就需要用到delegate。//SubView.h@protocol SubViewDelegate<NSObject>-(void)changeValue:(id)sender; //这个方法可以在subView中调用,在代理中实现@end@interface SubView: UIView {    id<SubViewDelegate> delegate;  //这个是保存代理的变量。}@property(assign)id<SubViewDelegate> delegate;@end//SubView.m@implementation SubView@synthesize delegate;............................................- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event {         [self.delegate changeValue:self];//这个就是调用了。。}@end//SuperView.m中实现changeValue函数....................//SuperView.m中某个位置SubView *subView = [[SubView alloc]init];subView.delegate = self;//讲subView的delegate设置为superView。保存在delegate变量中。-(void)changeValue:(id)sender{someVar++;NSLog(@"in changeValue function.");}
?

读书人网 >移动开发

热点推荐