Обновление на основе измененного вопроса
У вас не будет каких-либо экземпляров ваших дочерних объектов, если вы не добавили управляемые объекты вваш контекст, который является из субъекта.
Каждая суб-сущность эквивалентна подклассу вашей сущности-элемента - поэтому она будет иметь атрибуты элемента плюс новые атрибуты, которые вы определили в суб-сущности.Он также будет наследоваться в терминах класса, если вы создали собственные подклассы NSManagedObject.
Говорить о доступе к свойствам подобъекта из суперсущества не имеет смысла.
Чтобы добавить экземпляры подобъекта, вы просто вставляете сущности так же, как и любой другой управляемый объект, используя имя подобъекта.
Оригинальный ответ, 90% которого все еще действителен
Вы не пытаетесь получить доступ к ним из супер сущности, вы получаете доступ к ним изчто бы ни делал ваш запрос на получение.В этом случае, если вы проверяете, что возвращенные вами объекты имеют соответствующий класс или имеют соответствующие атрибуты, тогда да.
Но изнутри супер-сущности нет, это не имеет никакого смысла.Это то же самое, что наследование классов - вы не можете получить доступ к .text
из UIView только потому, что UILabel является его подклассом.Но вы можете иметь список объектов, которые были UIViews, проверить, действительно ли один из них был UILabel, а затем получить доступ к свойству .text
.
Для запроса на выборку, возвращающего набор сущностей и подобъектов, вы должны сделать что-то вроде
if ([elementData.entity.name isEqualToString:@"IsBoolean"]) // means it is the isBoolean sub-entity
NSLog(@"%@",elementData.value);
Чуть лучше, вы получите словарь атрибутов:
NSDictionary *attributes = elementData.entity.attributesByName;
if ([attributes objectForKey:@"value"]) // Means there is an attribute called "value"
NSLog(@"%@",elementData.value);
В последнем случае словарь полон объектов NSAttributeDescription, которые сообщают вам, с каким типом атрибута вы имеете дело.См. Ссылки на различные основные классы данных ( NSManagedObject , NSEntityDescription и NSAttributeDescription ).