实际上,当app来自后台时,需要重新加载数据。但是当我来自背景时它不会重新加载。我编写了在viewDidLoad上重新加载数据的方法。
那么,我应该在哪里编写代码来解决我的问题?
...谢谢
答案 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
。