是否可以在Objective-C中动态创建类?
我想做这样的事情,但动态地:
Mission *mission = [[Mission alloc]init];
mission.Id = [modelObject Id];
mission.EntityState = [modelObject EntityState];
mission.Description = [modelObject Description];
所以我试过这个
id clonedobject = [[[modelObject class] alloc]init];
for (NSString *key in dic)
{
[[clonedobject valueForKey:[dic objectForKey:key]] addObject:[modelObject valueForKey:[dic objectForKey:key]]];
}
但是使用这段代码,我无法通过clonedobject.Id达到id。它表示"在id类型的对象上找不到属性ID。
有没有办法做这样的事情?
[modelObject class] *clonedobject = [[[modelObject class] alloc]init]
答案 0 :(得分:6)
请参考给定的链接.. Creating class at runtime
答案 1 :(得分:0)
可以在运行时注册类,但这不是您正在寻找的。 p>
即使您可以在运行时添加类,它也无法帮助您使用编译时类型的变量。即你仍然不知道编译时的类型,因此你仍然不能使用像clonedobject.id
这样的点表示法来使用属性。
您如何知道此对象有一个名为id
的属性?看起来你已经知道它是什么类型了。