3

Вопрос по xml, objective-c, ios – Старайтесь не загружать файл снова, если он не изменился

Мне нужно скачать файл XML, используя протокол HTTP, чтобы использовать его локально в приложении для iPhone. Иногда этот файл будет обновляться на сервере, но не очень часто.

Как сравнить уже загруженный файл, который уже находится в папке «Документы», с файлом на сервере, просто загрузить его, если содержимое было обновлено на сервере?

  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceededsection 14 of the HTTP 1.1 specError: User Rate Limit Exceededsection 3.3.1.

    от
  • Error: User Rate Limit ExceededLast-ModifiedError: User Rate Limit ExceededNSUserDefaultsError: User Rate Limit ExceededIf-Modified-SinceError: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от Winston
  • Error: User Rate Limit Exceeded

    от Winston
  • Error: User Rate Limit Exceeded

    от Winston
  • Error: User Rate Limit Exceeded

    от
  • Да, я использую HTTP.

    от Winston
  • По имени или по дате пересмотра?

    от CodaFi
  • Какой протокол вы используете для загрузки файла? HTTP?

    от rob mayoff
  • По имени. Или по дате тоже будет эффективно?

    от Winston
  • 12

    При первой загрузке файла сохраните дату в заголовке Last-Modified отв

    ета. Вы можете вытащить его изNSHTTPURLResponse объект.

    При последующих запусках укажите эту дату вIf-Modified-Since заголовокNSURLRequest, Если файл на сервере не изменился,statusCode изNSHTTPURLResponse должно быть 304 (что означает & # x201C; Не изменено & # x201D;), а тело ответа должно быть пустым.

  • 2

    Если вы хотите просмотреть каталог документов

    чтобы найти файл с определенным именем, используйте NSFileManager.-fileExistsAtPath:isDirectory и сравните его с именем загруженного файла (-suggestedFilename до тех пор, пока вы используете NSURLResponse) с-isEqualToString.

    Если вам нужно получить дату пересмотра, используйте NSFileManager & s; s-attributesOfItemAtPath:error: в сочетании с ключом NSFileModificationDate.