2016-05-22 4 views
0

私は2つのデータモデルの永続性を管理する必要があるアプリケーションに取り組んでいます。Swift - 2つのデータモデルのCoreData実装の提案

アプリは私が最初にやっているコースを追加できるように簡単ですし、各コースでは、いくつかのタスクを追加します。

コースはTableViewに表示され、コースをタップすると別の画面にタスクが表示されます(これはテーブルビューでもあります)。

私はCourseModelのためにCoreDataを作っていますが、タスクテーブルを永続的に保つためにTaskModelが必要になると思いますが、それらを連携させる方法が残っています。

これはCourseModelです:コースの表と連動し

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

CourseList 
    members: Course (To Many) 

CourseData 
    courseCode: String 
    courseTitle: String 

これはTaskModelです:タスクテーブルで

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

TaskList 
    members: Task (To Many) 

TaskData 
    taskTitle: String 
    taskDueDate: String 

に動作します私はスウィフトとCoreData(ないSQLiteの)を使用しています。

誰でも私に解決策を提案してください。ありがとうございました!

答えて

0

私はそれがこのように十分な単純なことだと思います。

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

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

コースは、多くのタスクを持っており、タスクはコースに属します。

0

この夜まで滞在した後、私は簡単な解決策を見つけた:

  • ちょうどそのような二つのデータモデルを使用し続けるが、別のxcdatamodeldのファイルに各モデルを作成しないでください。

  • ViewControllermanagedObjectContextを渡す際に、どのように、その後アプリで、私たちは常に制御することができ、全て同じxcdatamodeld内のエンティティを作成し、私が作りたい場合は、我々はその後CoreData

  • を更新する必要があります2つのモデルが一緒に働く、私は

データを管理するために、フロー制御文と条件を使用することができます私は私のアプリではこのソリューションを適用しなかったと

を意図したとおり、それは動作します
関連する問題