在 swift 中加入多个关系

Joining multiple relationships in swift

请帮忙。

我有 3 个 NSManaged 对象。

说员工,工资单,工资项目

每个Employee可以有多个Payslips,每个Payslip可以有多个PayItems

so the relationship is Employee <->> Payslip <<- PayItem

都设置为NSManagedOjects

然后假设我有 3 个实例:(假设我通过将其添加到 NSManagedObject class 来初始化每个实例:

  convenience init(context: NSManagedObjectContext)
    {
    let entity = NSEntityDescription.entity(forEntityName: <entity>, in: context)!
    self.init(entity: entity, insertInto: context)'
    }

那我就可以申报了

 var employee = Employee(context: context)
        var payslip = Payslip(context: context)
        var payItem = PayItem(context: context) 

那我可以:

employee.addToPayslip(payslip) //Using the function created for me by default.

但如果我尝试:

payslip.payItem = payItem

我总是得到错误:

Failed to call designated initializer on NSManagedObject class 'PayItem'

总而言之,我正在尝试 link 员工到工资单,即一对多,然后是工资单到付款项,即一对多。为什么我过得这么艰难?

原来我有一个返回未初始化版本的 PayItem 的函数。花了一段时间才找到,但解决了我的问题。