2012-03-02 53 views
-2

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

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

谢谢...

+0

[这](http://stackoverflow.com/q/8548555/971401)可以帮助你。 – 2012-03-02 11:17:13

+0

@rohan你试图写你的代码在视图上会出现方法吗? – Kartik 2012-03-02 11:18:49

+0

@KartikArora:当我来自背景时,我的viewWillAppear方法调用吗? – Rohan 2012-03-02 11:20:31

回答

1
-(void) viewDidLoad { 

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

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

试试这个

+0

@lgor - 谢谢你的回答。我试过你的代码。但问题是,它启动时,我的应用程序从背景运行应用程序,但不作为背景应用程序.. :( – Rohan 2012-03-02 13:43:59

+0

https://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/ UIApplication_Class/Reference/Reference.html在这里看到更多的通知,我认为你需要UIApplicationDidBecomeActiveNotification – 2012-03-02 15:06:17

+1

或UIApplicationWillEnterForegroundNotification – 2012-03-02 15:07:53

0

要么你做的UIApplicationDelegate小号

- (void)applicationDidBecomeActive:(UIApplication *)application 

方法,或者你订阅你的对象到UIApplicationDidBecomeActiveNotification

+0

Aligner - 谢谢你的回复。但我想知道如何在AppDelegate的 - (void)applicationDidBecomeActive:(UIApplication *)应用程序方法中使用我的viewController的retriveData方法,因为当我尝试时,它不显示viewController的方法? – Rohan 2012-03-02 11:25:58

2

由于KartikArora隐含在上面,所以当应用程序从后台进入前台时,不会调用viewDidLoad。所以数据不会被重新加载。

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

您也可以在视图控制器中使用重载方法,当应用程序通过张贴的通知触发前景时调用该方法。

1

尝试在应用程序委托文件,将工作

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

感谢您的回复,我想知道如何从AppDelegate调用我的ViewController的方法。?因为数据检索代码是在viewController中。 – Rohan 2012-03-02 13:45:59

+0

然后你必须尝试查看将显示方法的视图控制器。 – 2012-03-02 13:54:32

+0

它会调用Ur方法 – 2012-03-02 13:55:19

相关问题