Iphone 如何更新视图';在iOS4中从后台重新唤醒数据时,它是否会停止?

Iphone 如何更新视图';在iOS4中从后台重新唤醒数据时,它是否会停止?,iphone,objective-c,ios,ios4,Iphone,Objective C,Ios,Ios4,我在设置包中创建了一个带有外部设置的应用程序。一切都很完美。我保存每个用户交互上的数据,并读取每个视图开关上的数据(使用ViewDidDisplay触发器) 当用户退出应用程序,然后转到设置,更改设置,然后重新启动应用程序时,就会出现问题。就我所知,在iOS4中,应用程序从未真正“退出”,它只是进入后台。因此,当用户“重新启动”应用程序时,它会返回到与上次完全相同的视图,但是,在用户切换视图、触发ViewDidDisplay以及相应的变量加载和屏幕更新功能之前,所有设置更改都不会生效 简言之,我

我在设置包中创建了一个带有外部设置的应用程序。一切都很完美。我保存每个用户交互上的数据,并读取每个视图开关上的数据(使用ViewDidDisplay触发器)

当用户退出应用程序,然后转到设置,更改设置,然后重新启动应用程序时,就会出现问题。就我所知,在iOS4中,应用程序从未真正“退出”,它只是进入后台。因此,当用户“重新启动”应用程序时,它会返回到与上次完全相同的视图,但是,在用户切换视图、触发ViewDidDisplay以及相应的变量加载和屏幕更新功能之前,所有设置更改都不会生效

简言之,我的问题是:

是否有类似于ViewDidAspect的功能,可以检测应用程序已从后台“重新唤醒”,然后我可以在哪里触发数据读取和屏幕更新功能


为了澄清,以下是我试图在ChartViewController.m中调用的代码:

- (void)applicationDidBecomeActive:(UIApplication *)application {
    [self loadChartSettings];
    [self.tableView reloadData];    
}

我甚至不知道从哪里开始将其放入AppDelegate,因为我所有的处理和显示生成代码都在ChartViewController中。

当重新启动应用程序时,应用程序代理将收到消息。实现该方法以读取用户默认值。或者,如果您想在另一个类中执行此操作,请注册
UIApplicationIDBeactiveNotification
通知。

您可能正在UIAppDelegate中查找此函数:

- (void)applicationDidBecomeActive:(UIApplication *)application;
此外,这可能对您有用:

-(void)applicationWillEnterForeground:(UIApplication*)application;

您还可以注册
nsUserDefaultsIDChangeNotification
通知,专门检测NSUserDefaults中的设置何时更改。感谢您的超级提示回复!!好的,我认为这在我的代码中指向了一个更深层次的架构设计问题:我重新读取了每个单独的viewController.m文件中的设置。我已与NSLog确认,ApplicationIDBecMeactive在重新启动时在AppDelegate内正确触发,如您所述,您能告诉我如何将该数据发送到活动视图控制器吗?