将数据传递给AppDelegate
我想知道如何将数据传回给AppDelegate。 假设我有这个计划
AppDelegate - > RootViewController -> FirstViewController -> SecondViewController.
SecondViewController具有调用AppDelegate applicationWillTerminate方法时应保存的数据。 我知道我可以使用单例在应用程序中共享数据,但我不喜欢这种方法。 通知似乎不会在这种情况下工作。
你能推荐我什么?
这应该得到该委托。
AppDelegate * delegate =(AppDelegate*) [UIApplication sharedApplication].delegate [delegate callSomeMethod:someData];
另一个build议给你。 在你的AppDelegate.h类中,你可以像下面这样创build一个类方法:
+ (AppDelegate *)getAppDelegate;
然后在你的AppDelegate.m中
+ (AppDelegate *)getAppDelegate { return (AppDelegate *)[[UIApplication sharedApplication] delegate]; }
现在你可以在任何你想要的地方访问这个委托(在导入了AppDelagate.h之后)。
AppDelegate* sharedDelegate = [AppDelegate getAppDelegate];
一个更清洁的方式可能是创build一个类别并将代码放在那里。
现在我的问题是:为什么你需要保存委托内的数据? 也许你可以使用单例。 有关更多信息,请参阅单身人士 – 应用程序和顶级 。
希望能帮助到你。