如何从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/

10-12 12:35
查看更多