我有一个函数可以给我一个类:
- (Class)classForMyType:(NSString *)myType;
这个课程的回复如下:
return [MyFirstClass class];
在我调用此函数的代码中,我可以像这样存储类:
Class myClass = [self classForMyType:@"foo"];
如何实例化myClass
类型的变量?我想要像myClass *foo = [[myClass alloc] init]
这样的东西,但这不起作用。
答案 0 :(得分:1)
如果您使用的是字符串,则可以像这样实例化。
id object = [[NSClassFromString(@"NameofClass") alloc] init];
根据您的代码,您似乎不是在为类创建类型。使用id
实例化它id foo = [[myClass alloc] init]
或者像这样明确地进行类型转换(注意MyClass不是你的实例变量,而是你的实际类名):
MyClass *foo = [[myClass alloc] init]