お手伝いをしてください。すぐに複数の関係に参加する
私は3 NSManaged
オブジェクトを持っています。
各Employee
が複数Payslips
を持つことができ、各Payslip
が複数PayItems
を持つことができ、従業員、給与明細、PayItem
を言います。
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への給与明細、その後、それは多くの1つである、給与明細に従業員をリンクしようとしている、それは多くの1つです。なぜ私はそのような厳しい時間を過ごしていますか?
私の知識では、Employee、PaySlip、Payitemの3つのクラスを作成します。 Employeeクラスでは、paySlipプロパティの配列を作成します。 Payslipクラスでは、payItemプロパティの配列を作成します。ちょうどモデル。私はNSManagedObjectを使用しませんでした。 –
提案していただきありがとうございます。私は本当にクラスの配列を使用することができます。しかし、この例では。私は具体的にコアデータとNSManagedObjectsを使用したい – LateNate
コードは正常に見えます。私はあなたのモデルに何か怪しいものがあると思う。 – shallowThought