我正在为objective-c编写一个xml序列化类。
重点是给这个类一个类的类型和一个xml文件。 它应该返回一个带有数据的实例。反映时:应该设置属性还是直接设置值? (Objective-C)
我有它的工作,它确实有点 - 处理原语(+ 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"]);
而且,这种类型的赋值后,我应该发布什么?
为什么你不使用NSKeyedArchiver?或CoreData? – Kornel 2009-09-07 00:26:24