如何从MainViewController在AppDelegate中执行方法。
[super performSelector:@selector(doSomething)];
并且在AppDelegate.m中定义了doSomething方法
-(void) doSomething {
NSLog(@"Method Executed");
}
最佳答案
假设您想在iOS上使用它,可以简单地调用一下:
[[[UIApplication sharedApplication] delegate] doSomething];
应该这样做。在Mac OS上,请改用
NSApplication
。由于您的应用程序委托不是(不是?)主视图控制器的超类,因此您不能像问题中那样。
而且,更好的方法应该是:
[[UIApplication sharedApplication] sendAction:@selector(doSomething)
to:nil
from:self];
这样(指定
nil
作为接收者),操作消息将通过响应者链,如果没有响应者对象都可以处理,则最终由您的应用程序委托进行处理。直接在自定义视图控制器中的应用程序委托。Here是有关此方法的更多信息的文档。
关于ios - 将数据从ViewController传递到AppDelegate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6633168/