[英]Adding data of one entity to other entity Coredata
我有一個名為 Course 和其他名為 Tasks 的實體。 要完成課程,用戶可以創建多個任務。 現在我有一個帶有 UITextFields 的屏幕,它獲取課程數據並存儲它。 用戶可以創建多個課程並在表格視圖中查看它們。
現在,如果用戶選擇一門課程,他將從核心數據中獲取課程詳細信息,但同時他也可以在該課程中添加任務。
那么我的問題是:我怎么知道正在保存的任務必須鏈接到用戶選擇的特定課程。
如果我不清楚,請發表評論。
這就是我在 CoreDataHandler.swift 文件中嘗試做的
class func saveTask(courseWorkName : CourseWork, taskName:String, percentComplete:Int, startDate:Date, endDate: Date, notes: String) -> Bool {
let context = getContext()
let entity = NSEntityDescription.entity(forEntityName: "Tasks", in: context)
let task = NSManagedObject(entity: entity!, insertInto: context)
let entity1 = NSEntityDescription.entity(forEntityName: "CourseWork", in: context)
let courseWork = NSManagedObject(entity: entity1!, insertInto: context)
// task.setValue(entity1, forKey: "courseworkName")
task.setValue(taskName, forKey: "taskName")
task.setValue(percentComplete, forKey: "moduleName")
task.setValue(notes, forKey: "notes")
task.setValue(startDate, forKey: "startDate")
task.setValue(endDate, forKey: "dueDate")
task.setValue(courseWorkName, forKey: "courseWork")
do {
try context.save()
return true
}catch {
return false
}
}
將您的 courseWork Object 傳遞給下一個推送的 controller 並訪問它。
在將數據輸入表時,請執行以下操作:
objCourse.tasks.append(task)
task.courseWork = objCourse
通過這樣做,您可以獲得反向關系。 使用它,您可以使用任務訪問課程,反之亦然。
像這樣訪問它:
objCourseWork.tasks
objTask.courseWork
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.