Доступ к имени сущности Core Data из NSArrayController -arrangedObjects

Учитывая NSArrayController "objController", который связан с moc в IB, не должен работать следующим образом? И, учитывая, что это, похоже, не работает, как мне найти имя сущности из моего NSArrayController?

for (NSManagedObject *thisObj in [objController arrangedObjects]) 
{
    NSEntityDescription *description = [thisObj entity];
    NSString *entityName = [description name];
    // do something with entityName...
    NSString *entityAttributeValue = [thisObj valueForKey:@"attributeKey"];
    // do something with entityAttributeValue...
}

"ObjController" имеет IBOutlet-ed и установлен в режим "Entity Name", с именем объекта, установленным в объект, определенный в модели. Эта сущность имеет дочерние сущности (и, следовательно, причина, по которой я хотел бы получить доступ к ее имени описания, так как NSArrayController может хранить много разных типов дочерних объектов), но присутствие дочерних объектов в любом случае не имеет значения.

... в отладчике это выглядит как "описание" является действительным NSEntityDescription объект, но "entityName" получает значение _PFEncodedString объект, без содержания. Тем не менее, "entityAttributeValue" просто отлично, с правильным значением, хранящимся в Core Data.

Один из способов обойти это, я полагаю, состоит в том, чтобы индивидуально классифицировать все мои сущности CD, а затем использовать -isKindOfClass чтобы получить информацию, которая мне нужна.

Есть идеи?

1 ответ

Решение

_PFEncodedString (частный) конкретный подкласс NSString и поэтому может быть использован как любой другой NSString,

Другие вопросы по тегам