在我的游戏中,当我加载一个新关卡时,之前的关卡似乎仍然保留在视图中。每个关卡都有自己的类,它们都会在屏幕上绘制一些东西。因此,如果我加载了 2 个或更多级别的图像,那会使我的游戏太慢。我可以做些什么来卸载上一个级别?提前致谢..
- (void) finishedLevel: (Level *) level
{
levelNumber++;
levelClass = NSClassFromString([NSString stringWithFormat:
@"Level_%d", levelNumber]);
if (!levelClass) levelClass = [Level class];
currentLevel = [[levelClass alloc] initWithView: self.mainView];
self.mainView.levelLabel.text = [NSString stringWithFormat:@"Level %d", levelNumber];
gameRunning = NO;
}
我尝试使用以下但并没有真正起作用
levelClass = NSClassFromString([NSString stringWithFormat:@"Level_%d", levelNumber-1]);
[levelClass removeFromSuperview];
错误信息
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[Level_1 removeFromSuperview]: unrecognized selector sent to class 0x107644'