【问题标题】:How to call a method of another class [duplicate]如何调用另一个类的方法[重复]
【发布时间】:2011-03-07 19:53:11
【问题描述】:

我想调用b类的方法mymethod,使用a类的方法currentMethod。我该怎么做?

【问题讨论】:

    标签: iphone objective-c cocoa-touch


    【解决方案1】:

    给定:

    @interface B : NSObject
    - (void) myMethod;
    @end
    @implementation B
    - (void) myMethod {
        ... do something ...
    }
    @end
    

    那么你可以这样做:

    @implementation A
    - (void) currentMethod {
       [[[B new] autorelease] myMethod];
    }
    @end
    

    当然,这极不可能做你想做的事。特别是,这将导致 B 的新实例在每次调用 currentMethod 时被实例化。我敢打赌,您的问题更像是“我在程序的其他地方有一个对象A的实例和一个对象B的实例,我如何从A向B发送消息?”

    最终,您应该阅读Objective-C programming guide 以了解类和实例的工作原理。从那里,您将需要了解 iPhone applications are architected 如何了解您的各种实例的去向以及它们如何相互控制。

    【讨论】:

      【解决方案2】:

      你必须:

      1/ 把你要调用的方法放到接口里面 @接口B

      -(void)methodB;

      2/ 你有一个要调用该方法的对象的引用。喜欢 initWithModel:

      @接口A

      B_b;

      实现A

      initWithB:(B b)

      _b = b;

      [_b 方法B];

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-22
        • 2015-08-01
        • 1970-01-01
        • 2011-12-28
        • 1970-01-01
        • 2021-09-13
        • 1970-01-01
        • 2013-04-20
        相关资源
        最近更新 更多