gpt4 book ai didi

ios - 将数据从 ViewController 传递到 AppDelegate

转载 作者:行者123 更新时间:2023-11-28 20:45:19 26 4
gpt4 key购买 nike

如何从 MainViewController 执行 AppDelegate 中的方法。

[super performSelector:@selector(doSomething)];

并且在 AppDelegate.m 中定义了 doSomething 方法

-(void) doSomething {

NSLog(@"Method Executed");

}

最佳答案

假设您想要它用于 iOS,一个简单的调用:

[[[UIApplication sharedApplication] delegate] doSomething];

应该这样做。在 Mac Os 上,您使用 NSApplication 代替。由于您的应用程序委托(delegate)不是(是吗?)主视图 Controller 的父类(super class),因此您不能像您的问题那样做。

而且,一个更好的方法应该是:

[[UIApplication sharedApplication] sendAction:@selector(doSomething)
to:nil
from:self];

这样(指定 nil 作为接收者), Action 消息将通过响应链,如果没有响应对象可以处理它,最终将由您的应用委托(delegate)处理。此外,这种方式可以防止您在自定义 View Controller 中直接引用应用委托(delegate)。

Here是有关此方法的更多信息的文档。

关于ios - 将数据从 ViewController 传递到 AppDelegate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6633168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com