Generate classes dynamically
是否可以在Objective-C中动态创建类?
我想做这样的事情,但动态地:
1 2 3 4 | Mission *mission = [[Mission alloc]init]; mission.Id = [modelObject Id]; mission.EntityState = [modelObject EntityState]; mission.Description = [modelObject Description]; |
所以我尝试了这个
1 2 3 4 5 | 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"。
有没有办法做这种事?
1 | [modelObject class] *clonedobject = [[[modelObject class] alloc]init] |
请参阅给定的链接。在运行时创建类
可以在运行时注册类,但这不是您要查找的内容。
即使您可以在运行时添加类,它也不能帮助您处理变量的编译时类型。也就是说,您在编译时仍然不知道类型,因此仍然不能使用点表示法(如
你怎么知道这个对象有一个名为