当应用程序来自后台时,不会重新加载数据

时间:2012-03-02 11:09:58

标签: iphone objective-c ios5 xcode4.2

实际上,当app来自后台时,需要重新加载数据。但是当我来自背景时它不会重新加载。我编写了在viewDidLoad上重新加载数据的方法。

那么,我应该在哪里编写代码来解决我的问题?

...谢谢

4 个答案:

答案 0 :(得分:2)

正如上面暗示的KartikArora,当应用程序从后台传到前台时,不会调用viewDidLoad。所以数据不会重新加载。

您可以在视图出现时重新加载数据,而不是在加载视图时重新加载数据。但是,每当视图出现时,它都会重新加载数据,这可能是您不想要的。

您还可以在视图控制器中使用重新加载方法,当应用程序通过发布的通知进入前台时调用该方法。

答案 1 :(得分:1)

-(void) viewDidLoad {

[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMethod:) name: UIApplicationWillEnterForegroundNotification object:nil];
}

-(void)myMethod:(id)not {
// code for save data
}

试试这个

答案 2 :(得分:1)

在App Delegate File中尝试它将起作用

- (void) applicationWillEnterForeground: (UIApplication *) application
{
 write your code here
}

答案 3 :(得分:0)

您可以在UIApplicationDelegate s

中执行此操作
- (void)applicationDidBecomeActive:(UIApplication *)application

方法,或者您将对象订阅到UIApplicationDidBecomeActiveNotification