2016-11-29 3 views
0

세 엔티티가있는 Core Data model이 있고 그 중 일부 엔 attributes이 있습니다. 아마도 모델을 수정해야하지만 부모 클래스를 통해 NSManagedObject 엔티티의 속성에 액세스하는 방법이 있는지 궁금합니다.엔티티 대신 NSManagedObject 상위 클래스의 속성 가져 오기

다음은 예입니다. "Object1", "Object2"및 "Object3"이라는 세 개의 NSManagedObject 엔티티가 있습니다. 그들 모두는 "attributeOfObject"라는 attribute을 가지고 있습니다. if statement 내 ManagedObject의 클래스를 확인합니다.

if ([self.managedObject isKindOfClass:[Object1 class]]) { 

    // Here I would like to change the attribute of the Object1 NSManagedObject: 
    [self.managedObject setAttributeOfObject:...]; 

if ([self.managedObject isKindOfClass:[Object2 class]]) { 

    [self.managedObject setAttributeOfObject:...]; // for Object2 

and so on... 

그러나 NSManagedObject 클래스에는이 특성이 없으므로 이렇게 갈 수 없습니다. 가능한지 알고 싶습니다.

[self.managedObject.Entityname setAttributeOfObject...] 

또는 이와 비슷한 내용이 있습니까?

답변

0

NSManagedObject 및 그 하위 클래스를 사용하면 항상 키 - 값 코딩을 사용하여 엔티티의 속성에 액세스 할 수 있습니다.

NSDictionary *attributes = [[self.managedObject entity] propertiesByName]; 
: 당신의 속성이 attributeOfObject를 호출하면 적 특성을 찾아 볼 필요가 있다면, 당신은 당신이 엔티티를 요청할 수 있습니다,

[self.managedObject setValue:someValue forKey:@"attributeOfObject"]; 

를 작성할 수