什么是 Objective-C 委托?

问题描述 投票:0回答:2

什么是 Objective-C 委托?
为了清楚起见,你能用一个好的、精确的例子来解释它,以便我能理解吗?

objective-c cocoa delegates
2个回答
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 */ }

2
投票

这是我给出的关于代表及其工作方式的答案:Parsing XML in Cocoa

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

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

© www.soinside.com 2019 - 2024. All rights reserved.