Я пишу класс сериализации xml для target-c.
Суть в том, чтобы дать классу тип класса и файл xml. Он должен вернуть экземпляр с данными.
У меня он работает, и он делает совсем немного - обрабатывает примитивы (+nsstring), определяемые пользователем классы и nsarrays. Не обрабатывает указатели или C-массивы.
Очевидно, что это в значительной степени зависит от отражения.
Вопрос: когда я устанавливаю значение экземпляра некоторого класса, должен ли я проверять, существует ли свойство с правильным именем, или я могу просто установить переменную с помощью простого отражения?
Это код, который я использовал до сих пор:
id newClass = class_createInstance(NSClassFromString(elementName), sizeof(unsigned));
Ivar nameVar = class_getInstanceVariable([newClass class], "name");
if (nameVar != nil)
object_setIvar(newClass, nameVar, [NSString stringWithString:@"George"]);
Кроме того, после такого задания я должен что-то выпускать?