2016-12-27 6 views
1

도와주세요.신속한 복수 관계에 가입

나는 3 NSManaged 개의 개체가 있습니다.

PayslipPayItems 다수를 가질 수, 각 Employee 여러 Payslips을 가질 수 있습니다 직원, 급여 명세서, PayItem

을 말한다.

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

이들은 모두 NSManagedOjects으로 설정됩니다. (필자는 NSManagedObject 클래스에이를 추가하여 각을 초기화하는거야 상상 :

은 그럼 각 3 개 인스턴스를 가지고 있다고 할 수 있습니다.

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에 대한 급여 명세서, 즉 많은 하나입니다 . 왜 나는 그런 힘든 시간을 보내고 있습니까?

+0

내 지식으로는 3 가지 클래스 Employee, PaySlip 및 Payitem을 만듭니다. Employee 클래스에서 paySlip 속성의 배열을 만듭니다. Payslip 클래스에서 payItem 속성의 배열을 만듭니다. 그냥 모델. 나는 NSManagedObject를 사용하지 않았다. –

+0

제안 해 주셔서 감사합니다. 실제로 클래스 배열을 사용할 수 있습니다. 하지만이 경우에. 특히 코어 데이터와 NSManagedObjects를 사용하려고합니다. – LateNate

+0

코드가 정상적으로 보입니다. 나는 당신의 모델에 뭔가 비린내가 있다고 의심한다. – shallowThought

답변

0

그래서 나는 초기화되지 않은 PayItem 버전을 반환하는 함수가 있음을 알게되었습니다. 추적하는 데 시간이 걸렸지 만이 문제를 해결하면 내 문제가 해결되었습니다.