我可以从委托对象调用ClassB方法吗?

时间:2010-08-26 01:18:13

标签: objective-c function call

如何从另一个类调用Objective-C方法?

例如在xCode中我有两个脚本:委托和另一个脚本。我如何从委托中调用script2上的someFunction?

1 个答案:

答案 0 :(得分:0)

如果用“script”表示类,则需要链接这两个类。

如果objectA是objectB的委托,则当objectB从委托协议调用方法时:

if ([self.delegate resposndsToSelector:@selector(classBdidSomething:)]) {
    [self.delegate performSelector:@selector(classBdidSomething:) withObject:self];
}

关于ClassA的实现:

#pragma mark -
#pragma mark Delegate methods
- (void)classBdidSomething:(ClassB *)objectB {
    [objectB methodToBeCalled];
}

如果您在线上构建时收到错误/警告(例如警告:未找到'-methodToBeCalled'方法):

[objectB methodToBeCalled];

这意味着您必须通过执行以下操作将ClassB导入到ClassA中:

#import "ClassB.h"