在iphone sdk上有效加载uiviews

时间:2011-04-24 07:35:34

标签: iphone uiview

我有20个uiviews类标记为“Question1”,“Question2”,“Question3”等,一直到“Question20”。

在我的主控制器中,我尝试使用一个名为nextQuestion的方法,并将当前问题编号的参数传递给它。但是,我希望找到一种方法来为init分配正确的问题视图。

我最终做了类似这样的事情,这是不正确的。

UIView * nextLevel = [[[NSString stringWithFormat:@“Question%i”,levelNow] alloc] initWithFrame:CGRectMake(0,0,480,320)];

有人可以帮我吗? 感谢

1 个答案:

答案 0 :(得分:1)

您创建一个字符串,然后在其上调用 alloc 。但是, alloc 只能在类上使用。所以你错过了从字符串到类的步骤。可以使用 NSClassFromString

关闭此差距
Class viewClass = NSClassFromString([NSString stringWithFormat:@"Question%i",levelNow]);
UIView *nextLevel = [[viewClass alloc] initWithFrame:CGRectMake(0, 0, 480, 320)];