3

iPhone アプリでローカルに使用するには、HTTP プロトコルを使用して XML ファイルをダウンロードする必要があります。このファイルは時々サーバー上で更新されますが、それほど頻繁ではありません。

コンテンツがサーバー上で更新されている場合にダウンロードするだけで、Documents フォルダーに既にあるダウンロード済みファイルとサーバー上のファイルを比較するにはどうすればよいですか?

4

2 に答える 2

12

ファイルを初めてダウンロードするときは、応答の Last-Modified ヘッダーから日付を保存します。オブジェクトから引き出すことができNSHTTPURLResponseます。

以降の実行では、その日付If-Modified-SinceNSURLRequest. サーバー上のファイルが変更されていない場合、 の はstatusCode304 NSHTTPURLResponse(「変更されていません」を意味します) であり、応答の本文は空である必要があります。

于 2012-04-09T04:34:18.320 に答える
2

ドキュメント ディレクトリをトラバースして特定の名前のファイルを探したい場合は、NSFileManager を使用-fileExistsAtPath:isDirectoryして、ダウンロードしたファイルの名前と比較します ( -suggestedFilenameNSURLResponse を使用している場合) -isEqualToString

リビジョン日付を取得する必要がある場合は、NSFileManager-attributesOfItemAtPath:error:をキー NSFileModificationDate と組み合わせて使用​​します。

于 2012-04-09T04:28:41.070 に答える