如何调用另一个类的方法

时间:2010-06-24 13:36:53

标签: iphone objective-c cocoa-touch

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

3 个答案:

答案 0 :(得分:3)

假设:

@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?” < / p>

最后,您应该阅读Objective-C programming guide以了解类和实例的工作原理。从那里开始,您需要了解iPhone applications are architected如何理解您的各种实例的位置以及它们如何相互保持。

答案 1 :(得分:0)

this question中的答案显示了差异,基本上是:

[MyClass classMethod];

用于课程,

[myObject objectMethod];

对象。

答案 2 :(得分:0)

你必须:

1 /在接口中输入要调用的方法 @interface B

- (无效)的methodB;

2 /您有一个对要调用该方法的对象的引用。像initWithModel:

@interface A

B _b;

实施A

initWithB:(B b)

_b = b;

[_ b methodB];