Frage
Eine weitere newbie-Frage:Was ist der beste Weg zum speichern von Daten in eine Cocoa-Anwendung geschrieben in Obj-C?Zum Beispiel, wenn ich wollen zu schaffen eine Art von "quizzer", das Quiz den Benutzer mit vor-geschrieben (und user-written) Fragen?Wie sollte ich speichern diese Fragen und Antworten?Core Data?
Vielen Dank!
Lösung
Natürlich ist es Core Data!
Es wird alles im Griff..werfen Sie einen Blick hier: http://developer.apple.com/macosx/coredata.html
Es ist ein full-API verarbeiten kann:
- ORM zwischen Datenbanken und run-time-Objekte
- Persistenz
- automatische Gebäude-tools (wie ein ER-editor)
- es ist bereit, aus der box, Sie nicht brauchen, um zu implementieren, die fast nichts..haben Sie bereits Zugriff auf Ihre Daten Abfragen, um das Controller-Objekt
Wahrscheinlich ist dies die Lösung ist über-Größe für Ihr problem, aber Sie werden lernen, wie man es mit einem einfachen Fall ist, und ich werde kommen praktisch in der Zukunft..
Andere Tipps
Core Data ist sicherlich eine gute Wahl, wie @Jack gezeigt hat. Es gibt einige andere Optionen, wie gut.
-
NSCoding
- Sie können Ihre Modellobjekte entsprechen dem NSCoding Protokoll (ähnlichjava.io.Serializable
) machen, welche Mittel Sie in der Lage sein würden, um sie direkt auf Dateien zu schreiben. Ich habe festgestellt, dass dies eine gute Option ist, wenn ich nicht über große Datenmengen zu bestehen, und die Daten, dass ich persistierenden eine relativ einfache Struktur hat. -
SQLite - Wenn Ihre Daten sehr relational ist, Sie können mit Hilfe einer Datenbank (wahrscheinlich SQLite) direkt zu betrachten. Core Data ist ein Objekt zu speichern, und während es Dinge wie Beziehungen zwischen Objekten behandelt, ist es nicht zulassen, dass Sie wirklich nützliche Dinge wie
INNER/LEFT/OUTER/CROSS/NATURAL JOIN
oder andere Multi-Table-Betreiber tun. -
NSUserDefaults
- wenn Ihre Daten sehr klein sind und nur im wesentlichen Schlüssel-Wert-Paaren, dann können Sie wahrscheinlich alles in dasNSUserDefaults
Objekt werfen, die es für Sie in der Voreinstellungsdatei anhalten werden. Aber selbst, wenn Ihre Daten einfach,NSUserDefaults
vielleicht nicht die beste Option sein, wenn Sie viel davon haben.