2 Stimmen

Aufbau eines neuen "Core Data" AtomicStore, die fehlenden Teile

Ich bin gerade dabei, eine AtomicStore-Unterklasse zu implementieren, um Daten in einer MySQL-DB zu speichern. Das System funktioniert bereits ziemlich gut, abgesehen von der Implementierung von Fetch-Requests. Die Abrufe sollten die zwischengespeicherten Knoten enthalten, aber auch einen "select" auf die darunterliegende SQL-DB auslösen.

Ich habe derzeit nur an Unterklassen für NSAtomicStore und NSAtomicStoreCacheNode gearbeitet. Ein Fetch führt also nur zu einer Suche innerhalb der gecachten Nodes. Da fetched effektiv auf einer NSManagedObjectContext-Instanz durchgeführt wird, würde ich annehmen, dass auch diese Klasse eine Überschreibung benötigt.

Jedenfalls in meinem aktuellen Verständnis von Core Data nahm ich an, dass alles, was spezifisch für eine "benutzerdefinierte speichern" wird nur in NSAtomicStore (und NSAtomicStoreCacheNode) getan werden. Also habe ich hier nach etwas gesucht, das einen Fetch ausführen soll.

Da die SQLite-Implementierung nicht im Quellcode verfügbar ist, habe ich ein wenig in "GnuStep" gegraben, hier wird eine "fetch-method" in den NSAtomicStore injiziert. Vielleicht kann mir hier jemand die richtige Richtung weisen.

So gibt es vielleicht einige "versteckte" Schnittstellen auf NSAtomicStore, die überschrieben werden müssen, oder die Notwendigkeit, NSManagedObjectContext zu unterklassifizieren.

3voto

rickster Punkte 121640

Diese Frage konnte nicht wirklich gelöst werden, als der Artikel 2010 geschrieben wurde, aber das "fehlende Glied" zur Lösung dieses Problems wurde in Mac OS X 10.7 und iOS 5 in Form des NSIncrementalStore abstrakte Klasse. NSIncrementalStore können Unterklassen implementiert werden, die sich an MySQL, andere RDBMS, "NoSQL"-Datenbanken oder sogar Webdienste .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X