Restkit çerçevesinde önbelleğe almayı devre dışı bırakmayı denemek için gerçekten çok zor bir zamanım var. Önbellek ilkesini hiç bir etki bırakmaya çalışıyorum. Bunu yapmanın doğru yolu nedir? Bir müşterim var Böylece bir kezRestkit, önbelleğe almayı devre dışı bırak
5
A
cevap
7
ya açıkça başlatılıyor:
RKClient *client = [RKClient clientWithBaseURL:url];
veya nesne yöneticisini sağlayarak bunu:
RKObjectManager* om = [RKObjectManager managerWithBaseURLString:url];
RKClient *client = om.client;
Sadece ayarı basit bir mesele olmalı önbellek ilkesi:
Yaptığınız şey bu muydu?
Güncelleme: Günlüğe kaydetme mesajım endişe duyduğum tek şey olduğu için kaynağını bulmaya karar verdim. Tl; dr sürümü, mesajı görmezden gelmek ve oturum açma proxy'sinin size söylediklerine güvenmektir.
Ben "yolda önbelleği yürürlükten" için arama ve üzerlerinde iki konumRKCache invalidateSubDirectory:
ve
RKCache invalidateAll
ve set molası noktalarında buldum tekrar kontrol etmek. İşte benim kod bazı kısmi yığın izleme: Bu bakarak öğrendim Ne
#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
önbelleğe alma denetlemek iki çeteleler olmasıdır:
Eğer istemci üzerinde ayarlanmış budurRKRequestCachePolicy
, önbellek istendiğinde kontrol eder. Sonuçların cihazda ne kadar süre saklandığını belirleyen (hiçbir zaman, oturum süresi, kalıcı)- . Bir URL istemcisi ayarlandığında, istemci kurma parçası olarak
önceki seans önbelleği boşaltarak içerir RKRequestCacheStoragePolicyPermanently
depolama politikası ayarlanırken ile yeni bir önbellek oluşturur ve -eğer önbelleğe alma devre dışı kalıcı önbelleğidir. Kayıt mesajlarında gördüğünüzü temizliyor.
İlgili konular
- 1. Tomcat önbelleğe almayı nasıl devre dışı bırakabilirim?
- 2. Google Chrome’da JavaScript önbelleğini devre dışı bırak
- 3. PHP Smarty şablonlama motorunda önbelleğe almayı devre dışı bırakıyor musunuz?
- 4. Polimer: HTML'yi Devre Dışı Bırakma Önbelleğe almayı önleme
- 5. Java servlet, sayfa önbelleğe almayı devre dışı bırakma
- 6. Yii2'de varlıkları önbelleğe almayı nasıl devre dışı bırakırım?
- 7. Tek bir ASP.NET web formu için Google Chrome için tarayıcı önbelleğe almayı devre dışı bırak
- 8. Devre dışı bırak System.err
- 9. devre dışı bırak animasyonlar
- 10. devre dışı bırak fare
- 11. jqGrid: Sıralamayı devre dışı bırak
- 12. Treeview'de SelectedImageIndex'i devre dışı bırak
- 13. AngularCli: incelemesi devre dışı bırak
- 14. groovy.xml.MarkupBuilder'i devre dışı bırak PrettyPrint
- 15. Yığın görevini devre dışı bırak
- 16. devre dışı bırak 'pause' pencerelerinde
- 17. Tümü devre dışı bırak UIView
- 18. VS2010 xaml içinde anahatlamayı devre dışı bırak (veya tamamen anahatlarını devre dışı bırak)
- 19. ASP.NET MVC'de istemci tarafı ve proxy önbelleğe almayı nasıl devre dışı bırakabilirim?
- 20. Yangın önleyici ve krom varsayılan önbelleğe almayı devre dışı bırakabilir miyim?
- 21. jQuery .toggle() yöntemini devre dışı bırak
- 22. Knockout devre dışı bırak seçenek seçeneği altyazısı
- 23. istekleri: otomatik kod çözmeyi devre dışı bırak
- 24. devre dışı bırak bütün ses efektleri Android
- 25. devre dışı bırak derleme 2008 Proje
- 26. AndroidStudio'da C++ hata ayıklayıcısını devre dışı bırak
- 27. UIMenuItem otomatik seçiciyi devre dışı bırak yöntem
- 28. DOMMouseScroll fare tekerini etkinleştir/devre dışı bırak
- 29. Mobil cihazlarda Affix'i devre dışı bırak
- 30. Emberjs - TextField'ı Devre Dışı Bırak ve Etkinleştir
Cevabınız için teşekkür ederiz. Sadece denedim, ve hala "restkit.support:RKCache.m:178 yolunda önbellek geçersiz kılma" mesajı var: " –
Bu önbelleğe almayı öneren tek şey bu mu? Sunucuya ne olduğunu görmek için Charles'ı veya başka bir günlük proxy'yi denediniz mi? – drewish
Proxy günlüğünü denedim, hiçbir şey ters gitmiyor, sunucunun beklenen verilerini aldım. Aslında, uygulamanın davranışında hiçbir şey ters gitmiyor, verilerim iyi, her şey beklendiği gibi gidiyor. Ancak, logger'ım bana "Önbellek yolunda geçersiz kılma: ...." mesajlarını vermeye devam ediyor. Restkit, varolan dosyayı önbelleğe almaya çalışmış gibi görünebilir, ancak yapamaz. Söylediğim gibi, bu eylemlerin performans veya Apple doğrulama için iyi olmadığından endişeleniyorum. –