私のプロジェクトで同じ問題が発生しました。
RestKit 0.20 では、キャッシュが完全に作り直されたようです (実際には削除されました。github issue #209 を参照してください)。現在、NOT MODIFIED 応答を受信すると、キャッシュされた応答本文を解析しません。代わりに、いわゆる「RKFetchRequestBlock」を使用して永続ストアからオブジェクトをロードしようとします。ここで詳細を読むことができます: http://restkit.org/api/latest/Classes/RKManagedObjectRequestOperation.html
そのため、304 応答を返す可能性のある URL ごとに RKFetchRequestBlock を追加する必要があります。別のオプションは、RestKit 0.20 では簡単ではない NSURLCaching を無効にすることです。次のコードを使用します。
ELObjectManager.h
@interface RKObjectManager ()
// So we can call [super requestWithMethod:...]
- (NSMutableURLRequest *)requestWithMethod:(NSString *)method
path:(NSString *)path
parameters:(NSDictionary *)parameters;
@end
@interface ELObjectManager : RKObjectManager
@end
ELObjectManager.m
#import "ELObjectManager.h"
@implementation ELObjectManager
- (NSMutableURLRequest *)requestWithMethod:(NSString *)method
path:(NSString *)path
parameters:(NSDictionary *)parameters
{
NSMutableURLRequest* request = [super requestWithMethod:method path:path parameters:parameters];
request.cachePolicy = NSURLRequestReloadIgnoringLocalAndRemoteCacheData;
return request;
}
@end
そして、RKObjectManager の代わりにこのクラスを使用します
[RKObjectManager setSharedManager:[ELObjectManager managerWithBaseURL:...]