有人可以通过一个例子来解释一个代表是什么吗?

时间:2009-09-11 03:02:37

标签: objective-c cocoa

我读了很多关于客观c代表的内容,但没有明确的想法。任何人都可以解释它 一个好的和精确的例子,以便我能理解它。谢谢您的回复。

2 个答案:

答案 0 :(得分:2)

Objective-C中的委托本质上是指向另一个类用于通知事件的对象的指针。

例如,A类要求您提供委托。你告诉它[这个] B类的实例会做。

[a setDelegate:b];

然后在A类的方法和操作中,它将在您的委托对象上调用预定义的方法,如下所示:

-(void)actionFinished:(id)sender
{
    [delegate a:self finishedWithResult:RESULT_OK];
}

因此,应该实现您的委托对象以响应该消息:

-(void)a:(A *)a finishedWithResult:(int)result { /* respond */ }

答案 1 :(得分:2)

以下是我对代表及其工作原理的回答:Parsing XML in Cocoa

它最常被称为“战略模式”,您可以在维基百科上阅读所有相关内容:http://en.wikipedia.org/wiki/Strategy_pattern

对象组成也略有不同:http://en.wikipedia.org/wiki/Object_composition