Restkitフレームワークでキャッシングを無効にするのは本当に苦労します。 キャッシュポリシーをnoneに設定しようとしましたが、何の効果もありません。これを行う正しい方法は何ですか?Restkit、キャッシングを無効にする
5
A
答えて
7
あなたはクライアントを持って、明示的にそれを初期化したらそう:
RKClient *client = [RKClient clientWithBaseURL:url];
またはオブジェクト・マネージャがそれを行うせることにより:
RKObjectManager* om = [RKObjectManager managerWithBaseURLString:url];
RKClient *client = om.client;
それだけで設定の簡単な問題でなければなりませんキャッシュポリシー:
client.cachePolicy = RKRequestCachePolicyNone;
これは何でしたか?
更新:ログメッセージが唯一の問題であるため、そのソースを追跡することにしました。 tl; drバージョンは、メッセージを無視し、ロギングプロキシがあなたに伝えていることを信頼することです。
「パスでキャッシュを無効にする」を検索し、RKCache invalidateSubDirectory:
とRKCache invalidateAll
の2つの場所にあり、ブレークポイントを設定しました。ここに私のコードの一部から部分スタックトレースです:私はこれを見学んだ
#0 0x000e6c66 in -[RKCache invalidateSubDirectory:] at RestKit/Code/Support/RKCache.m:189
#1 0x0006b767 in -[RKRequestCache invalidateWithStoragePolicy:] at RestKit/Code/Network/RKRequestCache.m:237
#2 0x0006b958 in -[RKRequestCache setStoragePolicy:] at RestKit/Code/Network/RKRequestCache.m:253
#3 0x00069abf in -[RKRequestCache initWithPath:storagePolicy:] at RestKit/Code/Network/RKRequestCache.m:60
#4 0x000586f3 in -[RKClient baseURLDidChange:] at RestKit/Code/Network/RKClient.m:339
#5 0x000589ce in -[RKClient observeValueForKeyPath:ofObject:change:context:] at RestKit/Code/Network/RKClient.m:373
#6 0x0183cd91 in NSKeyValueNotifyObserver()
#7 0x0183c895 in NSKeyValueDidChange()
#8 0x0182233e in -[NSObject(NSKeyValueObserverNotification) didChangeValueForKey:]()
#9 0x01844a82 in _NSSetObjectValueAndNotify()
#10 0x00057404 in -[RKClient initWithBaseURL:] at RestKit/Code/Network/RKClient.m:176
#11 0x00056df3 in +[RKClient clientWithBaseURL:] at RestKit/Code/Network/RKClient.m:130
キャッシュを制御する2つの列挙型があるということです。
あなたがクライアント上で設定したものであるRKRequestCachePolicy
、キャッシュが参照された時点を制御します。RKRequestCacheStoragePolicy
結果がデバイスに保存される期間(決して、セッションの持続時間、永続的)を決定します。クライアントのセットアップの一環として
、URLが設定されている場合、クライアントはRKRequestCacheStoragePolicyPermanently
は、ストレージポリシーを設定して新しいキャッシュを作成するには、前のセッションのキャッシュをクリアし、あればキャッシュが無効になり、永久キャッシュを必要とします。これは、ロギングメッセージに表示されているクリアです。
関連する問題
- 1. Doctrine 1.2:キャッシングを無効にする
- 2. VS2K10のキャッシング環境変数を無効にするには
- 3. ワニスを使用してcertian IPのキャッシングを無効にする
- 4. 休止状態キャッシングを無効にする
- 5. Webviewでキャッシング、オートフィル、履歴を無効にする方法
- 6. spring web developement - 静的コンテンツのキャッシングを無効にする
- 7. Google ChromeでJavaScriptキャッシングを無効にする
- 8. RestKitタイムアウトを無視する
- 9. HTTPヘッダーを無視して、web.py Webサーバーでキャッシングを無効にする
- 10. イメージのキャッシングを無効にしますか?
- 11. MongoDBキャッシングを無効にできますか?
- 12. Sql 2008キャッシングを無効にしますか?
- 13. プログラムによるXHR/Ajax応答のキャッシングと無効化
- 14. ディスクファイルのシステム(UNIX)キャッシングを無効にする方法はありますか?
- 15. 特定のファイルタイプに対してnginxキャッシングを無効にします。
- 16. リフトを無効にするリフトを無効にする
- 17. ToolStripMenuItemを無効にするかMenuStrip.Itemを無効にする
- 18. ズームコントロールを無効にするピンチズームを無効にする
- 19. iPhone RestKit RKLogDebugを有効にする方法は?
- 20. Django REST Frameworkのキャッシングを無効にするにはどうすればよいですか?
- 21. TSPMでカスタムPIPのキャッシングを無効にするにはどうすればよいですか?
- 22. phpMyAdmin、SQLに追加して、そのクエリのキャッシングを無効にすることができますか?
- 23. フォームラジオボタングループを無効/有効にする
- 24. チェックボックスを有効/無効にする
- 25. UISegmentedControlを有効/無効にする
- 26. @ConditionalOnExpression @RestControllerを有効/無効にする
- 27. Android ActionBar.Tabを有効/無効にする
- 28. DOMMouseScrollマウスホイールを有効/無効にする
- 29. コンポーネントサービス - パーティションを有効にする - 無効
- 30. ポインタを無効にするポインタの配列が無効です
ご返信ありがとうございます。私はちょうど試したが、メッセージ "restkit.support:RKCache.m:178パスでのキャッシュを無効にする:" –
それはキャッシングを提案する唯一のものですか?チャールズや別のロギングプロキシを使って、サーバーに何が流れているのか見てみましたか? – drewish
私はプロキシのログを試みましたが、何もうまくいかず、私はサーバーの予想されるデータを受け取りました。実際には、何もアプリケーションの動作に間違っている、私のデータは良いです、すべてが期待どおりに行く。しかし、私のロガーは私に "パスでのキャッシュを無効にしています:...."と言っています。 restkitのように見えますが、キャッシュの既存のファイルを削除しようとしましたが、できません。 私はちょうどそのような行為がパフォーマンスやアップルの検証には適していないと心配しています。 –