2010-04-30 1 views
0

나는 coredata 프레임 워크를 사용하고 있습니다. 내 NSManagedObjectModel 클래스와 학생 및 점수 세 엔티티를 사용하는 클래스와 학생은 일대 다 & 반비례 관계가 있고 학생과 점수도 역방향이지만 일대일 관계가 있습니다.NSManagedObjectModel에서 NSManagedObjects가 이미 생성 된 NSManagedObject의 NSManagedObject의 선택적 특성에 값을 나중에 할당하는 방법은 무엇입니까?

점수 엔티티에는 모든 선택적 속성이 있으며 new Student가 추가 될 때 할당되지 않은 기본값 '0'decimalVaue가 있습니다. 하지만 나중에 개별적으로 점수를 할당하고 이동 중에도 모든 점수 속성이 아닌 특정 속성에 할당하려고합니다. 나는 특정 학급에 학생을 만들고 추가 할 수 있지만 특정 학생을 불러서 점수를 매기는 방법을 모른다. 예를 를 들어 내가 점수 '속성'드리블 "를 할당 할 클래스"축구 "의 학생"다윗 "10 진수 값을 ["태클 "같은 많은 속성이, 내가 어떻게 할 수 있습니까?

미리 제안 해 주셔서 감사합니다.

+0

그 외에도 새로운 Student가 추가 될 때 새로운 Score 객체를 삽입 할 것인지, 나중에 나에게 값을 할당할지 여부를 알고 싶습니다. 가이드가 아니라면 적절할 것입니다. –

답변

0

해결책을 찾았습니다. 클래스 (NSManaged) 컨텍스트에서 클래스 (NSManaged) 개체에 새 학생을 만들거나 추가 할 때 처음에는 새로 생성되거나 추가 된 학생을 관계에 포함하고 동시에 기본값을 할당하는 Score (NSManaged) 개체의 새 인스턴스를 추가합니다. 다른 모든 속성에 '0'값. 나중에 상황에 따라 값을 다시 지정할 수 있습니다. 이 새로운 학생이에 대한 참조를 유지하고

Score *score = [NSEntityDescription insertNewObjectForEntityForName:@"Score" inManagedObjectContext:managedObjectContext]; 
score setValue:[NSNumber numberWithInteger:0] forKey:@"dribbling"];//attribute 
[associatedScore setValue:[self newlyAddedStudent] forKey:@"belogsToStudent"];//relation 

그게 된 직후 새로운 점수 객체에서 사용할 추가 한 후

[student setValue:@"Beckham" forKey:@"lastName"]; 
[student setValue:@"Soccer" forKey:@"belongsToClass"]; 

.