在不止一次的情况下,我发现使用AppDelegate作为网桥将数据从一个viewController传递到另一个是有用的:
@interface MyAppDelegate : NSObject <UIApplicationDelegate> {
CGFloat aFloatValue;
}
这样我可以从任何控制器获得“aFloatValue”:
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
和
appDelegate.aFloatValue
但我不确定这是一个好方法......你怎么看?
答案 0 :(得分:1)
我认为这更多地取决于您存储的数据及其所属的上下文。
例如,存储应用程序状态(例如用户是否登录)似乎是完全允许的。您甚至可能有一组属于应用程序的设置,这些设置不可由用户编辑,并存储在字典中,这似乎是保存字典的好地方。
但是,假设您有对象A和对象B直接依赖于对象C,那么您应该直接使用对象C获取该信息,而不是应用程序代理。