请帮忙。
我有 3 个 NSManaged
对象。
比如员工、工资单、付款项目
每个Employee
可以有多个Payslip
,每个Payslip
可以有多个PayItems
。
so the relationship is Employee <->> 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
我总是得到错误:
Failed to call designated initializer on NSManagedObject class 'PayItem'
总而言之,我试图将员工链接到工资单,即一对多,然后将工资单链接到付款项,即一对多。为什么我过得很艰难?
最佳答案
原来我有一个返回未初始化版本的 PayItem 的函数。花了一段时间才找到,但解决这个问题解决了我的问题。
关于ios - 快速加入多个关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41343117/