我正在开发一个应用程序,我需要管理2个数据模型的持久性。
应用程序非常简单,它可以让我首先添加我正在学习的课程,然后对于每门课程,我将添加一些任务。
课程将显示在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 :(得分:0)
我认为它应该像这样简单:
Course
courseCode: String
courseTitle: String
courseDesc: String
tasks: Task (To Many, inverse: course)
Task
course: Course (To One, inverse: tasks)
课程有很多任务,任务属于课程。
答案 1 :(得分:0)
今晚熬夜后,我找到了一个简单的解决方案:
继续使用这样的两个数据模型,但不要在单独的xcdatamodeld
文件中创建每个模型。
在同一个xcdatamodeld
中创建实体,然后在应用中,我们始终可以控制何时以及如何将managedObjectContext
传递给我们需要更新的ViewController
CoreData
然后,如果我想让两个模型协同工作,我可以使用流量控制语句和条件来管理数据
我确实在我的应用中应用了这个解决方案,它按预期工作