我有一个带有选项卡控制器的应用程序,它显然有一定数量的选项卡。 TabController中的每个ViewController共享一些信息,因此我决定在AppDelegate中移动它们并合成NSDictionary中的所有内容,以便我可以访问那些使用
的内容。[[[UIApplication sharedApplication] delegate] sharedInformations];
解决方案工作正常,我猜它非常好(我接受更好的解决方案)。显然,编译器警告我[[UIApplication sharedApplication]委托]可能不响应方法sharedInformations,因为他没有在协议中找到该方法,但我知道它会。
问题是:我该如何压制这个警告?
答案 0 :(得分:2)
你可以施展它:
[(MyAppDelegate *)[[UIApplication sharedApplication] delegate] sharedInformations];
或稍微整洁:
MyAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
… = appDelegate.sharedInformation;
您还可以将您的共享信息封装在Singleton类中,并执行类似
的操作#import "MySharedInfo.h"
MySharedInfo *sharedInfo = [MySharedInfo sharedInfo];
// etc.