Массив атрибутов NSManagedObject - PullRequest
9 голосов
/ 15 ноября 2010

Я бы хотел получить массив атрибутов для моего NSManagedObject, чтобы я мог использовать KVO для их экспорта.Я могу создать массив вручную, а затем выполнить итерацию по нему, однако я хотел бы получить этот список автоматически, а затем выполнить итерацию.

Ответы [ 2 ]

20 голосов
/ 15 ноября 2010

NSManagedObject имеет связанный с ним объект.Используйте NSEntityDescription -attributesByName и -relationshipsByName.Вы получите словарь обратно от каждого из этих методов.Просто спросите у диктовок их -allKeys.

4 голосов
/ 17 июля 2013

Спасибо, Джошуа.Вот код, который я использовал на тот случай, если кто-нибудь захочет увидеть сложный пример:

NSString *entityName = NSStringFromClass([myEntity class]);
NSEntityDescription *entityDescription = [self entityDescriptionWithEntityName:entityName];
NSDictionary *attributes = [entityDescription attributesByName];
NSArray *attributeNames = attributes.allKeys;
...