CachePolicyでNSURLRequestを使用してNSDataのplistをダウンロードしています。私のplistの内容を変更すると、私のアプリはこれを無視して、キャッシュされているコンテンツを表示します。キャッシュはどれくらい持続しますか?キャッシュデータがどれくらいの間持続するかを言うオプションがある場合は、 NSURLRequestをチェックする方法はありますか?サーバー上のデータがキャッシュよりも新しい場合、サーバーからデータをロードするか、それともキャッシュと等しい場合はキャッシュを使用しますか?NSURLRequestキャッシュポリシー
5
A
答えて
2
URLLoadingSystem docsのレスポンスキャッシュの制御をご覧ください。
あなたは、はるかに簡単なキャッシュシステムではASIHTTPRequestあるデリゲートメソッド
-(NSCachedURLResponse *)connection:(NSURLConnection *)connection
willCacheResponse:(NSCachedURLResponse *)cachedResponse
で独自の日付を追加することができます。このURLローディングシステムを使用することをお勧めします。アップルのドキュメントから
:リスト6で
の例では、HTTPS応答のキャッシュを防ぐことができます。また は、キャッシュされた応答 のユーザー情報辞書に現在の日付を追加します。
-(NSCachedURLResponse *)connection:(NSURLConnection *)connection
willCacheResponse:(NSCachedURLResponse *)cachedResponse
{
NSCachedURLResponse *newCachedResponse = cachedResponse;
if ([[[[cachedResponse response] URL] scheme] isEqual:@"https"]) {
newCachedResponse = nil;
} else {
NSDictionary *newUserInfo;
newUserInfo = [NSDictionary dictionaryWithObject:[NSCalendarDate date]
forKey:@"Cached Date"];
newCachedResponse = [[[NSCachedURLResponse alloc]
initWithResponse:[cachedResponse response]
data:[cachedResponse data]
userInfo:newUserInfo
storagePolicy:[cachedResponse storagePolicy]]
autorelease];
}
return newCachedResponse;
}
関連する問題
- 1. 差NSURLRequest
- 2. NSURLConnection sendSynchronousRequestキャッシュポリシーのデリゲートを設定する
- 3. System.Runtime.Caching.ObjectCache内のキャッシュポリシーを調べる方法
- 4. NSURLRequest httpプロトコルバージョン
- 5. NSUrlRequestのタイムアウトエラー
- 6. NSURLRequest、NSURLConnectionバージョン情報
- 7. NSURLRequest - NSURLRequest POST Body(iPhone objective-C)のURLをエンコードする
- 8. HTTPSを使用するNSURLRequest
- 9. NSURLRequest、NSURLConnection、NSURLRequestReturnCacheDataElseLoadポリシーの実装
- 10. Google App EngineへのNSURLRequest POST?
- 11. POST用のnsurlrequestの設定
- 12. NSArrayをNSURLRequestに渡す
- 13. NSURLRequest SpringBoardを掛ける
- 14. NSURLRequest HTTPSの問題 - iphone
- 15. NSURLRequestを使用するプロキシー
- 16. NSURLRequest nullを返します
- 17. NSURLRequest pdfサイズを取得
- 18. 書き込みキャッシュポリシーに書き込み/フェッチを書き込む
- 19. NSURLRequestからクッキーを削除する
- 20. アクセス 'Date' iOSのNSURLRequestのHTTPヘッダー
- 21. iOSの最小データでNSURLRequestを同期
- 22. NSURLRequestから文字列を返す
- 23. NSURLRequestにHTTPヘッダーを追加する
- 24. スワップでNSURLRequestを持つHTTPヘッダー
- 25. キャッシュが機能していないNSURLRequest
- 26. 画像のキャッシュ - NSURLRequestとcachePolicy Vsカスタムコード
- 27. NSURLRequestなしのSwiftでのHTTPリクエスト
- 28. NSURLRequest POSTの結果が空白になりました
- 29. コアデータ:NSUrlRequest内で更新する正しい方法
- 30. NSURLRequestに関連付けられたNSURLConnectionを取得します。
ありがとうございます。しかし、一定の時間キャッシュを維持する方法や、サーバーから入手できる新しいデータがあるかどうかを確認する方法はありますか? 接続::willCacheResponse:接続がデリゲートにそれを変更する機会を与えるために、キャッシュ内にキャッシュされた応答を格納する前に送信され – halloway4b
私が更新した私の答え –
のiOS 6.1 SDKドキュメントには、次のように述べています。 (必須)(iOS 2.0からiOS 4.3で利用可能) – cynistersix