【问题标题】:Can someone explain what a delegate is with an example?有人可以举例说明代表是什么吗?
【发布时间】:2009-09-11 03:02:37
【问题描述】:

我阅读了很多关于目标 c 代表的内容,但没有弄清楚。谁能解释一下 一个很好而准确的例子,以便我可以理解它。高级感谢您的回复。

【问题讨论】:

    标签: objective-c cocoa


    【解决方案1】:

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

    例如,A 班要求您指定一名代表。你告诉它 [this] 类 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

      它最常被称为“策略模式”,您可以在 Wikipedia 上阅读所有相关信息:http://en.wikipedia.org/wiki/Strategy_pattern

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

      【讨论】:

        猜你喜欢
        • 2017-12-26
        • 1970-01-01
        • 1970-01-01
        • 2011-06-14
        • 2014-08-27
        • 1970-01-01
        • 1970-01-01
        • 2012-04-12
        • 1970-01-01
        相关资源
        最近更新 更多