Dans ce code, dans la deuxième boucle for, j'obtiens un EXC_BAD_ACCESS si j'utilise un identifiant autre que i et j.EXC_BAD_ACCESS dans la boucle
if (UIDeviceOrientationIsPortrait(deviceOrientation)){
numRows = 4;
numCols = 3;
}else {
numRows = 6;
numCols = 1;
}
for (int row = 0; row < numRows; row++){
for (int col = 0; col < numCols; col++) {
keysArray[row][col] = [[[keys objectAtIndex:0] retain] autorelease];
if (col < numRows)
[keys removeObjectAtIndex:0];
}
}
//Here is the crash
for (int i = 0; i < numRows; i++) {
for (int j = 0; j < numCols; j++){
UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];
b.frame = CGRectMake(i * kKeyGap, j * kKeyGap, 57, 57);
[b setImage: [UIImage imageNamed:keysArray[j][i]]
forState:UIControlStateNormal];
[self.view addSubview:b];
}
}
Pourquoi est-ce que cela causerait une telle erreur? J'ai essayé d'utiliser Modifier tout dans l'étendue pour éviter de manquer un, mais il se bloque toujours.
Merci
Pouvez-vous fournir un exemple et/ou de clarifier ce qui est ou ne provoque pas l'accident? Dans l'exemple, tout ce que vous utilisez est i/j ... – nessence