请告诉我如何通过关系保存对象。 如果我有两个实体,如Notes,Category实体 注意是类别的一对一。 类别多对一为Notes。
如果我们有Notes的类别上下文,如何保存..
请提供一些意见。
如何通过套装保存。这将是非常好的
我有员工和部门实体。部门与员工有一对多的关系。员工与部门有一对一的关系。我希望使用部门实体保存员工实体的对象。
每次我为员工创建新的对象 -
import UIKit
import CoreData
class ViewController: UIViewController {
var container: NSPersistentContainer? = (UIApplication.shared.delegate as? AppDelegate)?.persistentContainer
let appDelegate = UIApplication.shared.delegate as! AppDelegate
var empSet = NSSet()
var empS = Set<EmployeeExample>()
override func viewDidLoad() {
super.viewDidLoad()
var context:NSManagedObjectContext = (container?.viewContext)!
let dept = NSEntityDescription.insertNewObject(forEntityName: "Department", into: context) as! Department
let emp = NSEntityDescription.insertNewObject(forEntityName: "Employee", into: (container?.viewContext)!) as! Employee
emp.firstName = "YYYY"
emp.lastName = "HHHHHHH"
empS.insert(emp)
print("Count of Emp SSSS Set == \(empS.count)")
let emp1 = NSEntityDescription.insertNewObject(forEntityName: "Employee", into: (container?.viewContext)!) as! Employee
emp1.firstName = "RRRRR"
emp1.lastName = "YYYYY"
empS.insert(emp1)
empSet.addingObjects(from: empS)
dept.deptName = "CCC"
print("Count of Emp SSSS Set == \(empS.count)")
print("Count of Emp Set == \(empSet.count)")
dept.addToEmp(empSet)
do {
try appDelegate.saveContext()
print("Saved -------------")
}catch {
print("Error")
}
}
}
答案 0 :(得分:1)
我对这些行有疑问anEmployee.department = newDepartment如何获取newDepartment值。我是否必须声明让newDepartment = NSEntityDescription.insertNewObject(forEntityName:“Department”,进入:( container?.viewContext)!)as!系。
此处的Employee
对象是与该特定Department
对象相关的任何对象。你如何得到它取决于你的应用程序如何工作,但你可能想要做其中之一:
anEmployee.department
的新实例,并将该对象指定为Department
。Department
。您可以通过从{1}}或使用NSFetchRequest
从核心数据中获取NSFetchedResultsController
个对象来实现此目的。