2013-06-21 2 views
9

Что означает эта часть документации по основным данным Apple?UserInfo Словари по CoreData

Информация о пользователе Словари

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

Я понимаю, что по умолчанию сущности имеют этот словарь, но я не могу найти findInfoInfo для объектов или атрибутов coredata.

ответ

12

Получить NSEntityDescription от вашего NSManagedObject (через entity собственности) или из NSManagedObjectModel и получить NSAttributeDescription через attributesByName. Это дает вам словарь, в котором вы получите правильное описание по имени, которое также имеет userInfo.

NSManagedObject *managedObject; 
NSEntityDescription *entityDescription = managedObject.entity; 
NSAttributeDescription *attributeDescription = entityDescription.attributesByName[@"someAttribute"]; 
NSString *foo = attributeDescription.userInfo[@"foo"]; 
+0

Так что означает 'userInfo's доступны на уровне«классов»(т.е. лиц и их составных частей), а не«экземпляров»(т.е.' NSManagedObject's), не так ли? – Drux

+0

Да, это полностью для метаинформации ... – Karl