Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 目标c动态对象创建_Objective C_Class_Creation - Fatal编程技术网

Objective c 目标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

给你一个简短的问题。我希望能够创建对象的实例。对象类型基于字符串的类型

在php中,您可以用字符串替换类名,但我怀疑在Objective c中这是否容易

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];