实际上,当应用程序来自后台时,需要重新加载数据。但是当我来自后台时它不会重新加载。我编写了在viewDidLoad上重新加载数据的方法。当应用程序来自后台时,数据不会重新加载
所以,我应该在哪里编写代码来解决我的问题?
谢谢...
实际上,当应用程序来自后台时,需要重新加载数据。但是当我来自后台时它不会重新加载。我编写了在viewDidLoad上重新加载数据的方法。当应用程序来自后台时,数据不会重新加载
所以,我应该在哪里编写代码来解决我的问题?
谢谢...
-(void) viewDidLoad {
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMethod:) name: UIApplicationWillEnterForegroundNotification object:nil];
}
-(void)myMethod:(id)not {
// code for save data
}
试试这个
@lgor - 谢谢你的回答。我试过你的代码。但问题是,它启动时,我的应用程序从背景运行应用程序,但不作为背景应用程序.. :( – Rohan 2012-03-02 13:43:59
https://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/ UIApplication_Class/Reference/Reference.html在这里看到更多的通知,我认为你需要UIApplicationDidBecomeActiveNotification – 2012-03-02 15:06:17
或UIApplicationWillEnterForegroundNotification – 2012-03-02 15:07:53
要么你做的UIApplicationDelegate
小号
- (void)applicationDidBecomeActive:(UIApplication *)application
方法,或者你订阅你的对象到UIApplicationDidBecomeActiveNotification
。
Aligner - 谢谢你的回复。但我想知道如何在AppDelegate的 - (void)applicationDidBecomeActive:(UIApplication *)应用程序方法中使用我的viewController的retriveData方法,因为当我尝试时,它不显示viewController的方法? – Rohan 2012-03-02 11:25:58
由于KartikArora隐含在上面,所以当应用程序从后台进入前台时,不会调用viewDidLoad。所以数据不会被重新加载。
您可以加载每当观点出现,而不是视图时加载的数据。但是,它会在每次出现视图时重新加载数据,这可能不是您想要的。
您也可以在视图控制器中使用重载方法,当应用程序通过张贴的通知触发前景时调用该方法。
尝试在应用程序委托文件,将工作
- (void) applicationWillEnterForeground: (UIApplication *) application
{
write your code here
}
感谢您的回复,我想知道如何从AppDelegate调用我的ViewController的方法。?因为数据检索代码是在viewController中。 – Rohan 2012-03-02 13:45:59
然后你必须尝试查看将显示方法的视图控制器。 – 2012-03-02 13:54:32
它会调用Ur方法 – 2012-03-02 13:55:19
[这](http://stackoverflow.com/q/8548555/971401)可以帮助你。 – 2012-03-02 11:17:13
@rohan你试图写你的代码在视图上会出现方法吗? – Kartik 2012-03-02 11:18:49
@KartikArora:当我来自背景时,我的viewWillAppear方法调用吗? – Rohan 2012-03-02 11:20:31