在swift中加入多个关系

时间:2016-12-27 10:09:54

标签: ios swift core-data entity-relationship nsmanagedobject

请帮忙。

我有3个NSManaged个对象。

说员工,薪资单,PayItem

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

  

所以关系是员工< - >> Payslip<< - PayItem

它们都设置为NSManagedOjects

然后假设我每个都有3个实例:(想象一下我通过将它们添加到NSManagedObject类来初始化每个实例:

  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

我总是得到错误:

  

无法在NSManagedObject类上调用指定的初始值设定项   &#39; PayItem&#39;

总而言之,我试图将员工与薪资单(即一对多,然后是payitem的薪资单,即一对多)联系起来。为什么我这么艰难?

1 个答案:

答案 0 :(得分:0)

所以事实证明我有一个函数返回了一个未初始化的PayItem版本。追踪已经花了一段时间,但是这个问题解决了我的问题。