Пусть сервер добавит свое текущее системное время в файл XML в виде нового поля, например <timestamp>1332368408</timestamp>
.Вам потребуется еще один вызов API сервера, чтобы проверить, был ли изменен этот конкретный файл, например http://<server>/xmlFileChangedSince/1332368408
, возвращающий значение true или false, на основе последнего измененного файла, как вы предложили, или путем перезаписи поля <timestamp>
каждый раз, когда файлмодифицирована.Если результат указанного выше http-запроса верен, то ваше приложение знает, что нужно загружать только что измененные данные.
Преимущество добавления поля <timestamp>
в файл XML на стороне сервера состоит в том, что онопредотвращает необходимость синхронизации времени сервера и приложения, которые гарантированно не будут синхронизированы.Если вы не хотите добавлять поле к данным XML, вы можете установить временную метку данных на стороне приложения, основываясь на том, когда возвращается NSURLConnection
, но если вы хотите, чтобы оно было абсолютно надежным, вам нужно синхронизировать приложение.и время сервера.Хотя это не особенно сложно, это раздражает.