2012-03-31 13 views
3

Ich habe eine App, die einige Dokumente von einem Server herunterlädt und speichert sie in einem persistenten Speicher (Sqlite). Ich halte die Dokumente Daten in einer NSData Eigenschaft einer NSManagedObject und jedes Mal, wenn ich ein neues Dokument herunterladen, im Grunde speichert die App die Daten in den persistenten Speicher, sondern hält es auch im Speicher, die ich nicht will. Gibt es eine Möglichkeit, Fehler zu erzwingen? Irgendwie möchte ich den Speicher freigeben und die Daten nur in der Datenbank behalten. Ich hoffe, es macht Sinn, ich bin ein Anfänger mit Core Data.So speichern Sie direkt in den persistenten Speicher, ohne die Daten im Speicher zu halten

Antwort

4

Sie können ein NSManagedObject in einen Fehler versetzen, indem Sie refreshObject:mergeChanges: aufrufen.

+0

+1 Dies ist der richtige Weg, um ein 'NSManagedObject' zu einem Fehler zu zwingen. – lnafziger

+0

Dies, kombiniert mit "Erlaubt externen Speicher" löste das Problem für mich. Vielen Dank! –

0

Eine Option wäre, sie in ein oder mehrere verwaltete Objekte einzulesen, die für den Bereich einer Routine lokal sind. Wenn sie den Bereich verlassen, werden sie aus dem Speicher freigegeben. (Vielleicht möchten Sie sie zuerst speichern).

Verwandte Themen