2016-05-22 5 views
0

Ich arbeite an einer App, die ich brauche, um Persistenz für 2 Datenmodelle zu verwalten.Swift - Vorschlag von CoreData für 2 Datenmodelle implementieren

Die App ist so einfach wie es mir erlaubt, Kurse, die ich zuerst nehme, hinzuzufügen, dann werde ich für jeden Kurs einige Aufgaben hinzufügen.

Kurse werden in einer TableView angezeigt. Wenn Sie auf einen Kurs tippen, werden Aufgaben in einem anderen Bildschirm angezeigt, der auch eine Tabellenansicht darstellt.

Ich habe CoreData für CourseModel arbeiten lassen, ich denke, ich brauche TaskModel, um Task-Tabelle persistent zu halten, aber ich bin fest, wie sie zusammenarbeiten. Diese

ist CourseModel: arbeitet mit Kurs Tabelle

Course 
    courseCode: String 
    courseTitle: String 
    courseDesc: String 
    list: CourseList (To One, inverse: members) 

CourseList 
    members: Course (To Many) 

CourseData 
    courseCode: String 
    courseTitle: String 

Dies ist TaskModel: Arbeiten mit dem Task-Tabelle

Task 
    taskTitle: String 
    taskDueDate: String 
    taskTag: String 
    list: TaskList (To One, inverse: members) 

TaskList 
    members: Task (To Many) 

TaskData 
    taskTitle: String 
    taskDueDate: String 

Ich bin mit Swift und Coredata (nicht SQLite).

Jeder bitte schlagen Sie mir eine Lösung vor. Vielen Dank!

Antwort

0

ich denke, es sollte genug, da dies so einfach sein:

Course 
courseCode: String 
courseTitle: String 
courseDesc: String 
tasks: Task (To Many, inverse: course) 

Task 
course: Course (To One, inverse: tasks) 

Ein Kurs viele Aufgaben und eine Task gehört zu einem Kurs hat.

0

Nach dieser Nacht aufbleiben, fand ich eine einfache Lösung:

  • einfach hält die beiden Datenmodelle wie das mit, aber nicht jedes Modell in den einzelnen xcdatamodeld-Dateien erstellen.

  • erstellen Einheiten alle in der gleichen xcdatamodeld, dann in der App, können wir immer steuern, wann und wie die managedObjectContext zum ViewController passieren die wir brauchen CoreData

  • dann zu aktualisieren, wenn ich das machen möchte zwei Modelle zusammenarbeiten, kann ich Flow-Control-Anweisungen und Bedingungen verwenden, um Daten zu verwalten

ich diese Lösung in meiner app gelten tat und es funktioniert wie beabsichtigt

Verwandte Themen