【发布时间】:2011-03-07 19:53:11
【问题描述】:
我想调用b类的方法mymethod,使用a类的方法currentMethod。我该怎么做?
【问题讨论】:
标签: iphone objective-c cocoa-touch
我想调用b类的方法mymethod,使用a类的方法currentMethod。我该怎么做?
【问题讨论】:
标签: iphone objective-c cocoa-touch
给定:
@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 如何了解您的各种实例的去向以及它们如何相互控制。
【讨论】:
你必须:
1/ 把你要调用的方法放到接口里面 @接口B
-(void)methodB;
2/ 你有一个要调用该方法的对象的引用。喜欢 initWithModel:
@接口A
B_b;
实现A
initWithB:(B b)
_b = b;
[_b 方法B];
【讨论】: