我在控制器A中有一个名为someMethod
的方法,我想在控制器B中调用。
我该怎么做?
答案 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];