Obj-C应用程序从一开始就没有加载

时间:2015-04-20 21:08:38

标签: ios objective-c

我是一个iOS应用程序,在-(void)viewDidLoad我解析来自网络的数据,并在加载时显示它。但是,当我打开我的应用程序时,它会显示旧数据(应用程序快速加载),我需要将其删除并再次打开它,之后它会解析数据并显示新数据。为什么会这样?

1 个答案:

答案 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.
}

当您不再需要通知时,不要忘记以观察者身份移除自己。