【发布时间】:2015-02-25 07:15:37
【问题描述】:
我有一个函数可以返回一个类:
- (Class)classForMyType:(NSString *)myType;
这个类是这样返回的:
return [MyFirstClass class];
在我调用这个函数的代码中,我可以像这样存储类:
Class myClass = [self classForMyType:@"foo"];
如何实例化myClass 类型的变量?我想要myClass *foo = [[myClass alloc] init] 之类的东西,但这不起作用。
【问题讨论】:
-
如果我明白你的问题,那就是:stackoverflow.com/questions/1174093/…
-
你说得对,我可以通过
id foo = [[myClass alloc] init];实例化对象,但是这样指针就没有正确的类了。是否也有可能有一个类指针? -
with [[NSClassFromString(@"NameofClass") alloc] init];你可以用名字实例化。然后,如果您愿意,可以将此类解析为我所知道的自己的类
-
问题是一样的,我只能和
id一起使用,对吗? -
WhateverClassIHad* foo = (WhateverClassIHad*) [[myClass alloc] init];。如果您不知道WhateverClassIHad(或合适的接口名称),那么您无论如何都不会在意。
标签: objective-c class instantiation