Hallo Jungs,
ich habe hier eine CoreData Anwendung, welche extrem viele (> 40.000) und große Daten (bis 10 MB pro Datensatz) verwalten können soll.
Momentan bin ich in der Optimierungsphase. Bisher habe ich einfach alle Daten als Binary im persistent Store gespeichert. Das klappt bei wenigen und kleinen Daten gut. Bei vielen und großen Daten habe ich nun Probleme festgestellt, die ich auf das direkte Speichern im persistent Store zurückführe.
Ansatz: Die binary Attribute werden transient. Es kommt pro binary Attribut ein Attribut, welches einen Dateinamen hält hinzu. Die Accessoren der binary Attribute bleiben gleich - bis auf die Tatsache, dass die Daten nun von einer Datei auf der Platte gelesen werden bzw. dort gespeichert werden.
Nun kommt es vor, dass ein Objekt auch mal "gelöscht" wird. Ich würde gerne kurz vorm Löschen die erzeugten Dateien löschen. Wo macht man sowas am geschicktesten?
Wir hatten sowas ähnliches schonmal: osxentwicklerforum.de/thread.p…8&hilight=nsmanagedobject
Diesmal möchte ich allerding erfahren, sobald das Objekt aus dem PersistentStore genommen wird. CoreData cached ja so einiges (wegen undo, etc). Es wird wohl keinen direkten Weg geben. Komme ich um eine Observierung der arrangedObjects der ArrayController mit Objekte, die binary Attribute haben wohl nicht herum - was?
ich habe hier eine CoreData Anwendung, welche extrem viele (> 40.000) und große Daten (bis 10 MB pro Datensatz) verwalten können soll.
Momentan bin ich in der Optimierungsphase. Bisher habe ich einfach alle Daten als Binary im persistent Store gespeichert. Das klappt bei wenigen und kleinen Daten gut. Bei vielen und großen Daten habe ich nun Probleme festgestellt, die ich auf das direkte Speichern im persistent Store zurückführe.
Ansatz: Die binary Attribute werden transient. Es kommt pro binary Attribut ein Attribut, welches einen Dateinamen hält hinzu. Die Accessoren der binary Attribute bleiben gleich - bis auf die Tatsache, dass die Daten nun von einer Datei auf der Platte gelesen werden bzw. dort gespeichert werden.
Nun kommt es vor, dass ein Objekt auch mal "gelöscht" wird. Ich würde gerne kurz vorm Löschen die erzeugten Dateien löschen. Wo macht man sowas am geschicktesten?
Wir hatten sowas ähnliches schonmal: osxentwicklerforum.de/thread.p…8&hilight=nsmanagedobject
Diesmal möchte ich allerding erfahren, sobald das Objekt aus dem PersistentStore genommen wird. CoreData cached ja so einiges (wegen undo, etc). Es wird wohl keinen direkten Weg geben. Komme ich um eine Observierung der arrangedObjects der ArrayController mit Objekte, die binary Attribute haben wohl nicht herum - was?
Die Objective-Cloud ist fertig wenn sie fertig ist. Beta heißt Beta.
Objective-C und Cocoa Band 2: Fortgeschrittene
Cocoa/Objective-C Seminare von [co coa:ding].
Objective-C und Cocoa Band 2: Fortgeschrittene
Cocoa/Objective-C Seminare von [co coa:ding].