我看到很多这些问题都没有答案......希望有人能帮助我。
所以我在我的应用程序中创建了一个单例,我重新加载了一个场景,但是当我尝试访问我的敌人路径的数据时收到了这条消息。
这是单例中的代码
在初始化中:
NSString *resourcePath = @"EnemyPaths";
NSString *levelDefsFile = [[NSBundle mainBundle] pathForResource:resourcePath ofType:@"plist"];
_enemyPaths = [[NSDictionary alloc] initWithContentsOfFile:levelDefsFile];
当我重新加载场景时,我在单例中调用这个函数来释放旧数据
-(void) resetGameData
{
[enemy1 release];
[enemy2 release];
[enemy3 release];
[enemy4 release];
[enemy5 release];
[enemy6 release];
[enemy7 release];
[enemy8 release];
[enemy9 release];
[enemy10 release];
[self setupEnemyPaths];
}
-(void) setupEnemyPaths
{
NSString *getLevel = [NSString stringWithFormat:@"Level%d", CURRENT_LEVEL];
NSAssert(_enemyPaths != nil, @"Couldn't open EnemyPaths file");
_level = (NSDictionary *) [_enemyPaths objectForKey:getLevel];
NSAssert(_level != nil, @"Couldn't find Level entry");
...
}
我得到了错误
_level = (NSDictionary *) [_enemyPaths objectForKey:getLevel];
但我不确定为什么- _enemyPaths 已分配,我从未发布过它.. 还是我错过了什么?请帮忙!