从目标C中的控制器B中的控制器A调用方法

时间:2014-02-19 20:54:10

标签: ios

我在控制器A中有一个名为someMethod的方法,我想在控制器B中调用。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

在控制器B中保持指向controllerA的指针并执行:

[self.controllerA performselector:@selector(someMethod) withObject:nil];

或只是:

[self.controllerA someMethod];

但我同意Shawn的评论,这不是最好的设计 - 如果你需要在两个视图控制器之间共享功能,那么将该功能移动到另一个类 - 你的应用代表可能更好,也许?

答案 1 :(得分:0)

有多种方法可以做到这一点。一种是创建一个类方法。你这样创建:

+ (void) someMethod {
   //Do stuff
}

这样称呼:

[ControllerB someMethod];

另一种方法是创建一个新的控制器B实例,如Jeff Loughlin所说,并在其上调用方法:

ControllerB *cb = [[ControllerB alloc] init];
[cb someOtherMethod];