如何在不传递委托的情况下从 RootViewController 调用 AppDelegate 方法?
只是想知道是否有办法做到这一点?(或者我需要在 RootViewController 中创建一个委托对象来保存对 AppDelegate 的引用)
如何在不传递委托的情况下从 RootViewController 调用 AppDelegate 方法?
只是想知道是否有办法做到这一点?(或者我需要在 RootViewController 中创建一个委托对象来保存对 AppDelegate 的引用)
[[[UIApplication sharedApplication] delegate] someMethod];
奇迹般有效!
您可以使用任何控制器访问应用程序委托
MyDelegate* aDelegate = (MyDelegate *)[[UIApplication sharedApplication] delegate];
这种情况经常发生,以至于我总是添加一个方法来MyCustomAppDelegate
为我做这件事(所以我的代码中没有很多转换。
@implementation MyCustomAppDelegate ()
- (MyCustomAppDelegate *)appDelegate {
return (MyCustomAppDelegate *)[[UIApplication sharedApplication] delegate];
}
@end
现在我可以打电话到任何地方
[MyCustomAppDelgate appDelegate]