Objective c 目标c动态对象创建
给你一个简短的问题。我希望能够创建对象的实例。对象类型基于字符串的类型 在php中,您可以用字符串替换类名,但我怀疑在Objective c中这是否容易Objective c 目标c动态对象创建,objective-c,class,creation,Objective C,Class,Creation,给你一个简短的问题。我希望能够创建对象的实例。对象类型基于字符串的类型 在php中,您可以用字符串替换类名,但我怀疑在Objective c中这是否容易 NSString * className; id theObject; className = @"TestObject"; theObject = [[className alloc] init]; 下面是它可能看起来像什么的分解。我想尽量避免使用大型案例式的陈述 是否可以为此使用选择器系统 有什么想法吗 干杯您可以使用NSClassFro
NSString * className;
id theObject;
className = @"TestObject";
theObject = [[className alloc] init];
下面是它可能看起来像什么的分解。我想尽量避免使用大型案例式的陈述
是否可以为此使用选择器系统
有什么想法吗
干杯您可以使用
NSClassFromString()
您可以使用以下obj-c运行时函数之一通过其名称获取类(您可能需要导入标头:
id objc_lookUpClass(const char *name)
id objc_getClass(const char *name)
因此,您的代码可能看起来像(但尚未测试):
毫无疑问,这个社区是最好的。谢谢你。这很有魅力
id objc_lookUpClass(const char *name)
id objc_getClass(const char *name)
NSString * className = @"TestObject";
id theObject = nil;
Class myClass = objc_lookUpClass([className UTF8String]);
if (myClass)
theObject = [[myClass alloc] init];