NSURLCache wird nicht zwischengespeichert

8

Also habe ich NSURLCache subclassiert und jedes Mal, wenn ich loadHTMLFromString: aufruft, ruft es storeCachedRequest:forRequest: und dann cachedResponseForRequest: auf. Folgendes habe ich:

%Vor%

Das Problem ist, dass wenn ich cachedResponseForRequest: unmittelbar nach dem Speichern aufruft, die Antwort immer null ist. Warum ist das?

Ich hatte:

%Vor%

und es druckt immer Antwort ist Null. Die URL-Zeichenfolge ist die gleiche wie sie war %Code%. Aus irgendeinem Grund wird nicht zwischengespeichert. Ich habe die Cachegröße auf eine bestimmte Größe eingestellt.

    
adit 20.01.2012, 03:42
quelle

2 Antworten

1

Nicht 100% sicher, aber ich denke, du musst das NSURLResponse verwenden, das von deinem NSURLConnection zurückgegeben wurde, anstatt dein eigenes zu erstellen. Mein Verdacht ist, dass, wenn Sie nur eine NSURLResponse erstellen, keine Header für das Caching gesetzt sind und NSURLCache annimmt, dass es dieses bestimmte Ergebnis zwischenspeichern sollte.

    
Johan Kool 20.01.2012 03:56
quelle
1

Der Standard-NSURLCache scheint ziemlich zufällig zu sein, wenn man auswählt, was zu cachen ist oder nicht. Ihre beste Wette ist es, Unterklasse es und Caching der Dateien, die Sie kümmern sich direkt in cachedResponseForRequest: und lassen Sie den Rest für super.

    
Rivera 26.11.2012 07:21
quelle