Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 我的for-in循环中有一个坏的_访问_Objective C_Cocos2d Iphone - Fatal编程技术网

Objective c 我的for-in循环中有一个坏的_访问

Objective c 我的for-in循环中有一个坏的_访问,objective-c,cocos2d-iphone,Objective C,Cocos2d Iphone,我有以下代码块 -(void) spawnEnemies:(ccTime)dt { static float lastSpawn; lastSpawn += dt; if (lastSpawn > 0.75) { for (NSDictionary *enemyData in levelData.enemies) { if ([[enemyData valueForKey:@"spawnCount"] intValue]

我有以下代码块

-(void) spawnEnemies:(ccTime)dt
{

    static float lastSpawn;
    lastSpawn += dt;

    if (lastSpawn > 0.75) {
        for (NSDictionary *enemyData in levelData.enemies) {
            if ([[enemyData valueForKey:@"spawnCount"] intValue] < [[enemyData valueForKey:@"quantity"] intValue]) {
                // reset spawn timer
                lastSpawn = 0;

                // init enemy
                id enemy = [NSClassFromString([enemyData valueForKey:@"className"]) enemyInit];
                [enemy startAnimating];
                [enemy setSpawnPosition];
                [enemy moveToSpriteInit:playerSprite];
                [self addChild:enemy];
                [enemy release];

                NSNumber *spawnCount = [enemyData valueForKey:@"spawnCount"];
                [enemyData setValue:[NSNumber numberWithInt:([spawnCount intValue] + 1)] forKey:@"spawnCount"];
            }
        }
    }
}

抛出的是错误的访问错误吗?我试图在每次迭代中更新每个敌人的繁殖数量。我是否需要在for循环中重建levelData.friends数组,并在for循环完成后使用更新的繁殖计数值将新数组重新分配给levelData.friends?

我很笨,我刚刚意识到我没有将for循环对象类型从NSDictionary更新为NSMutableDictionary,无法更改NSDict中的值,duh

将有助于了解更多有关定义此方法的类的信息,包括类的.h
@接口
等。此外,
addChild:
方法的实现细节是什么?它是一个cocos2d层类/CClayer我很确定错误访问来自for循环中迭代对象的值重新分配,我只想知道这是肯定的。如果我注释掉我所说的特定行,则不会发生这种情况。前一行是否可以将
spawnCount
设置为空指针?不,不是,如果我记录它,它有一个值。
[enemyData setValue:[NSNumber numberWithInt:([spawnCount intValue] + 1)] forKey:@"spawnCount"];