1

我在 viewDidLoad 中填充了一个 tableView 以从我的服务器获取一些 JSON。

NSURL *theEvents = [NSURL URLWithString:@"http://192.168.1.100:3000/events.json"];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:theEvents cachePolicy: NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:60.0];

NSHTTPURLResponse *response = nil;
NSData *data  = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

当我调试并运行此代码时,它会从服务器获取实时数据。如果我停止(调试器)并重新启动它也可以正常工作并从服务器获取实时数据。但是,如果我:

  1. 启动应用程序(数据检索良好)
  2. 在模拟器中停止应用程序(模拟器保持运行)
  3. 更改服务器上的数据
  4. 在模拟器中再次启动应用程序(即从模拟器屏幕运行它

它不会从服务器获取实时更改的数据。我不明白这一点。当我通过home键退出模拟器中的应用程序时,程序没有完全退出吗?我也得到了与手机完全相同的行为。

我想始终在 viewDidLoad 中从我的服务器获取实时数据。我究竟做错了什么?

4

1 回答 1

1

这正是解决我的问题的原因:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(wokeUp) name:UIApplicationDidBecomeActiveNotification object:nil];
于 2013-08-29T01:50:43.247 回答