2016-05-22 3 views
0

Я работаю над приложением, которое мне необходимо для управления сохранностью для 2 моделей данных.Swift - предложение CoreData для двух моделей данных

Приложение так же просто, как это позволит мне добавлять курсы, которые я беру первым, а затем для каждого курса я добавлю некоторые задачи.

Курсы будут отображаться в TableView, нажав на курс, вы увидите задачи на другом экране, который также представляет собой табличный вид.

Я сделал работу CoreData для CourseModel, я думаю, мне понадобится TaskModel, чтобы сохранить таблицу Task стойкой, но я застрял в том, как заставить их работать вместе.

Это 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 

Я использую Swift и 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 файлов.

  • Создание объектов все в том же xcdatamodeld, то в приложении, мы всегда можем контролировать, когда и как передать managedObjectContext к ViewController нам необходимо обновить CoreData

  • Тогда, если я хочу сделать две модели работают вместе, я могу использовать операторы управления потоком и условия для управления данными

я применить это решение в мое приложение и оно работает как задумано

Смежные вопросы