2 Stimmen

Kann ich bei der Modellierung meiner Anwendung die Subklasse NSManagedObject wiederverwenden?

Ich denke, das ist ein häufiges Szenario. Ich definiere Klassenmodelle meiner Anwendung, ich werde Core Data für das Zwischenspeichern verwenden, also möchte ich die Vorteile der generierten Unterklasse NSManagedObject nutzen, um sie als Modell "wiederzuverwenden", um sie an verschiedene Klassen zu übergeben. Ist das ratsam? Angenommen, ich erhalte einige Daten aus dem Netzwerk und möchte ein Objektmodell mit denselben Instanzvariablen wie das generierte Core Data-Modell erstellen, es bei Bedarf verwenden und es vielleicht in der DB zwischenspeichern. Was ist hier der übliche Ansatz? Kann ich eine Kategorie im Core Data-Modell verwenden? Core Data Unterklasse? Kapselung? Neue Klasse? Vielen Dank für jeden Tipp dazu.

0voto

magma Punkte 8242

Core Data ist im Grunde genommen keine Datenbank, sondern ein Objektgraphenmanager.

In vielen Szenarien ist es eine sehr gute Idee, Ihre Objekte mit Core Data zu behandeln, und Sie können einen schnellen In-Memory-Speicher verwenden.

In gewisser Weise denke ich, dass Sie, wenn Sie versuchen, Core Data NICHT zu verwenden, um Ihre Objekte zu handhaben, dazu gezwungen sind, einen Großteil der Funktionalität neu zu implementieren. Verwenden Sie es einfach.

Sie sagen, dass Sie eine JSON-Datei herunterladen, die ein bestimmtes Element darstellt, und dass Sie dieses Element in Ihren Ansichten verwenden und es dann in einer Datenbank speichern. Kerndaten übertrifft nutzen Sie die Vorteile des gesamten Funktionsumfangs, anstatt zu versuchen, ihn zu vermeiden.

(Und auch hier ist die Verwendung von mogenerator sehr hilfreich, wenn auch nicht unbedingt erforderlich).

Matt Gallagher hat einen schönen Blog-Artikel über die Unterschiede zwischen Core Data und einer Datenbank - ich empfehle Ihnen, ihn zu lesen, er enthält wertvolle Informationen.

Kakao mit Liebe: Die Unterschiede zwischen Core Data und einer Datenbank

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