我在 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];
当我调试并运行此代码时,它会从服务器获取实时数据。如果我停止(调试器)并重新启动它也可以正常工作并从服务器获取实时数据。但是,如果我:
- 启动应用程序(数据检索正常)
- 停止模拟器中的应用程序(模拟器保持运行)
- 更改服务器上的数据
- 在模拟器中再次启动应用程序 (即从模拟器屏幕运行它
它不会从服务器获取实时更改的数据。我不明白这一点。当我通过home键退出模拟器中的app时,程序不是完全退出了吗?我在手机上也遇到了完全相同的行为。
我想在 viewDidLoad 中始终从我的服务器获取实时数据。我做错了什么?
最佳答案
这正是解决我的问题的原因:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(wokeUp) name:UIApplicationDidBecomeActiveNotification object:nil];
关于iphone - viewDidLoad 中的 NSURLRequest 使用缓存数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18477759/