サーバーから JSON を取得するために、viewDidLoad に tableView を設定します。
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];
このコードをデバッグして実行すると、サーバーからライブ データが取得されます。(デバッガーを)停止して再起動すると、正常に動作し、サーバーからライブデータを取得します。ただし、次の場合:
- アプリを起動します(データは正常に取得されます)
- シミュレーターでアプリを停止します (シミュレーターは実行されたままです)
- サーバー上のデータを変更する
- シミュレーターでアプリを再度起動します (つまり、シミュレーター画面から実行します)。
サーバーからライブで変更されたデータを取得しません。私はこれを理解していません。シミュレーターでホームボタンからアプリを終了すると、プログラムが完全に終了しませんか? 電話でもまったく同じ動作が得られます。
viewDidLoad でサーバーから常にライブ データを取得したいと考えています。私は何を間違っていますか?