我是一个iOS应用程序,在-(void)viewDidLoad
我解析来自网络的数据,并在加载时显示它。但是,当我打开我的应用程序时,它会显示旧数据(应用程序快速加载),我需要将其删除并再次打开它,之后它会解析数据并显示新数据。为什么会这样?
答案 0 :(得分:-1)
它不起作用,因为viewDidLoad
仅在创建视图时调用一次。在后台处理并返回后,您的视图仍然存在。
如果您想在应用程序从后台返回时重新加载数据,则需要在UIApplicationDelegate实现中覆盖applicationDidBecomeActive:
,或者需要侦听相应的通知:
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidBecomeActive:)
name:UIApplicationDidBecomeActiveNotification
object:nil];
}
- (void)applicationDidBecomeActive:(NSNotification *)notification
{
// reload your data here.
}
当您不再需要通知时,不要忘记以观察者身份移除自己。