Давай дружить крч, теку от айтишников.
А вот от хардкода - нет
NSMutableArray *tiles;
NSMutableArray *lastStep;
NSNull *noTile;
........
//Копирование
lastStep = [[NSMutableArray alloc]init];
for (int j = 0; j < 5; j++) {
NSMutableArray *subarray = [[NSMutableArray alloc]init];
for (int i = 0; i < 5; i++) {
if ([self validTileX:i andY:j]) {
Tile *newTile = [[Tile alloc]init];
Tile *oldTile = [[Tile alloc]initWithTile:tiles[i][j]];
newTile.position = oldTile.position;
newTile.value = oldTile.value;
[newTile updateValue];
[subarray addObject:newTile];
}else{
[subarray addObject:noTile];
}
}
[lastStep addObject:subarray];
}