Hallo,
Ich habe vor einen Editor für ein iOS-Spiel zu schreiben und evaluiere gerade ob Core Data dafür in Frage kommt.
Der Editor besteht aus einigen Entities(zB. Modelle, Gegenstände, NPCs, Quests) und Beziehungen zwischen diesen Entities.
Soweit sieht es sehr gut aus, allerdings werden momentan alle Daten in einer Xml-Datei gespeichert.
Da mehrere Leute parallel(lokal) an einigen Daten arbeiten sollen ist es sehr unpraktisch dass die Daten alle in der gleichen Datei sind deshalb würde ich sie gerne aufteilen. Als Optionen gibt es soweit ich das gesehen habe entweder:
a) Verschiedene Stores
Das hat dann den Nachteil dass ich Beziehungen über Fetched Properties umsetzen muss, könnte ich aber notfalls machen. Ein weiterer Nachteil ist dass ich die Dateien nicht so frei aufteilen kann wie ich es gerne hätte.
b) Ableiten von NSAtomicStore
Ich könnte von NSAtomticStore ableiten und müsste das Speichern/Laden selbst umsetzen. Könnte mir hierzu jemand sagen ob ich hierzu Methoden wiederverwenden kann vom Xml-Store ? Ich würde im Endeffekt nur auf erster Ebene unterscheiden wollen welche Entities in welche Datei gespeichert werden, würde aber ungern das Speichern/Laden der NSManagedObjects per Hand machen, ich hätte gerne eine Lösung die Apples Methode benutzt oder alternativ einen Hinweis welche Methode dafür am Sinnvollsten wäre.
Oder ist mein Ansatz schlecht bzw. hat jemand eine bessere Idee wie ich mein Projekt umsetzen kann ? Ich hatte schon überlegt das ganze doch ohne Core Data zu machen(zB. über NSCoding) aber Core Data gefällt mir sehr gut, vor allem der Undo/Redo-Support und dass man relativ leichte umsteigen kann zwischen den verschiedenen Store-Types(Xml, Sqlite etc.)
Ich muss dazu sagen ich habe bisher noch kein OSX-Projekt umgesetzt, nur ein (ziemlich aufwendiges) iOS-Spiel und habe daher noch nicht so viel Erfahrung in der Richtung deswegen kann es gut sein dass schon mein Ansatz zu umständlich ist.
Ich habe vor einen Editor für ein iOS-Spiel zu schreiben und evaluiere gerade ob Core Data dafür in Frage kommt.
Der Editor besteht aus einigen Entities(zB. Modelle, Gegenstände, NPCs, Quests) und Beziehungen zwischen diesen Entities.
Soweit sieht es sehr gut aus, allerdings werden momentan alle Daten in einer Xml-Datei gespeichert.
Da mehrere Leute parallel(lokal) an einigen Daten arbeiten sollen ist es sehr unpraktisch dass die Daten alle in der gleichen Datei sind deshalb würde ich sie gerne aufteilen. Als Optionen gibt es soweit ich das gesehen habe entweder:
a) Verschiedene Stores
Das hat dann den Nachteil dass ich Beziehungen über Fetched Properties umsetzen muss, könnte ich aber notfalls machen. Ein weiterer Nachteil ist dass ich die Dateien nicht so frei aufteilen kann wie ich es gerne hätte.
b) Ableiten von NSAtomicStore
Ich könnte von NSAtomticStore ableiten und müsste das Speichern/Laden selbst umsetzen. Könnte mir hierzu jemand sagen ob ich hierzu Methoden wiederverwenden kann vom Xml-Store ? Ich würde im Endeffekt nur auf erster Ebene unterscheiden wollen welche Entities in welche Datei gespeichert werden, würde aber ungern das Speichern/Laden der NSManagedObjects per Hand machen, ich hätte gerne eine Lösung die Apples Methode benutzt oder alternativ einen Hinweis welche Methode dafür am Sinnvollsten wäre.
Oder ist mein Ansatz schlecht bzw. hat jemand eine bessere Idee wie ich mein Projekt umsetzen kann ? Ich hatte schon überlegt das ganze doch ohne Core Data zu machen(zB. über NSCoding) aber Core Data gefällt mir sehr gut, vor allem der Undo/Redo-Support und dass man relativ leichte umsteigen kann zwischen den verschiedenen Store-Types(Xml, Sqlite etc.)
Ich muss dazu sagen ich habe bisher noch kein OSX-Projekt umgesetzt, nur ein (ziemlich aufwendiges) iOS-Spiel und habe daher noch nicht so viel Erfahrung in der Richtung deswegen kann es gut sein dass schon mein Ansatz zu umständlich ist.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Nightmare_82 ()