Cocoa中的delegate

本文转载自网络

Cocoa中的类经常使用一种名为委托(delegate)的技术,委托是一种对象,另一个类的对象会要求委托对象执行它的某些操作。常用的是,编写委托对象并将其提供给其他一些对象,通常是提供给Cocoa生成的对象。通过实现特定的方法,你可以控制Cocoa中的对象的行为。
通过下面的例子,可以更清楚地理解委托的实现原理。其中A对象需要把一些方法委托给其它对象来实现,例子中就是对象B,B实现了含A对象特定方法的协议ADelegate,从而可以在B中实现A委托的方法。

A类
@protocol ADelegate
- (void)aDelegateMethod;
……
@end

@interface A : NSObject {
……
id delegate;
}

@property (readwrite, assign) 
id delegate;
……
@end

@implementation A
@synthesize delegate;
- (void)aMethod{
[delegate aDelegateMethod];
……
}

@end

B类

@interface B : NSObject 
@end


@implementation B
- (id)init {
……

[[A sharedA] setDelegate:self];
}

- (void)aDelegateMethod{ //B中实现A委托的方法
……
}
…
@end

本文转载自网络,侵删.

你可能感兴趣的:(Cocoa中的delegate)