2012-05-04 2 views
2

나는 일대일 관계에 어려움을 겪고 있습니다. 가장 높은 수준에서, 나는 일대일 관계가 있습니다. 전형적인 관리자, 직원, 예를 사용하여 내가하려는 일을 설명 할 것입니다. 그리고 한 걸음 더 나아가기 위해, 저는 한 명과 하원의 관계를 employe에 추가하려고합니다.코어 데이터에 다른 객체와 관련된 객체를 저장하려면 어떻게해야합니까?

NSManagedObject를 서브 클래 싱했을 때 생성 된 addEmployeesToManagereObject 메소드에 아무런 문제가없는 직원이 있습니다. 내 테이블보기에서 Employee를 선택하면 Employee 유형의 currentEmployee를 설정합니다. 이것은 내 .h에서 선언됩니다.

저는 현재 직원이 있으므로 현재 직원과 관련하여 주택 엔티티 속성을 저장하고 싶습니다.

내가 정말로 고민하는 부분은 managedObjectContext를 설정하고 currentEmployee와 관련하여 집 속성을 설정하고 저장하는 것입니다.

내가 몇 가지를 시도했지만 여기 내 마지막 시도입니다했습니다

참고 : employeeToHouse 내가

House *theHouse = [NSEntityDescription 
        insertNewObjectForEntityForName:@"House" 
        inManagedObjectContext:self.managedObjectContext]; 
// This is where I'm lost, trying to set the House 
// object through the employeeToHouse relationship 
self.currentEmployee.employeeToHouse 
NSManagedObject

서브 클래스 때 나를 만든 형 하우스의 속성입니다

집 속성에 액세스하여 currentEmployee에 저장하려면 어떻게합니까?

답변

2

하우스는 엔터티로 설정되므로 데이터 저장소 내의 테이블로 간주 될 수 있습니다. 이것이 사실이라면 데이터 모델에서 Employee와 House간에 1 대 1의 관계를 설정해야합니다.

이미 완료했다면 전화하는 것만 큼 간단합니다. Core Data와의 일대일 관계에 익숙하지는 않지만 to-many를 사용합니다. 특정 상황에 대해 또한

NSError *error=nil; 
if (![self.managedObjectContext save:&error]{ 

    NSLog(@"Core Data Save Error: %@", error); 
} 

, 난 잘 모르겠 : 두 경우 모두,

[self.currentEmployee addHouseObject: theHouse]; 

또는

하여 managedObjectContext에 저장하려면 다음
self.currentEmployee.employeeToHouse=theHouse; 

다음 중 하나를 시도 그러나 self.managedObjectContext는 이미 self.currentEmployee.managedObjectContext가 가리키는 것과 동일해야합니다.

행운을 빌어 요,

+0

도움을 주셔서 감사하고 managedobjectcontext에 대해 전적으로 옳습니다. 직원과 집 사이의 역원 관계를 만들었지 만 xcode는 관리자와 직원 간의 일대 다 관계에서했던 것처럼 내 하위 클래스 파일에 addHouseObject 메서드를 생성하지 않았습니다. 내 Employee.h에서 House에 대한 유일한 참조는 나를 위해 생성 된 속성입니다. @property (nonatomic, strong) House * employeeToHouse. 나는 저를 위해 창조 된 저 재산을 통해서 House를 저장하는 방법이어야 한 ㄴ다고 생각하고있다. 확실하지. – MikeTheCoder

+0

@MikeTheCoder, 내 편집 된 응답을 참조하십시오. – timthetoolman

관련 문제