ios-thread 1 exc_bad_instruction error en la aplicación

Estoy escribiendo una aplicación para simular la lotería nba. Ya escribí los códigos para generar las combinaciones aleatorias y los asigné a cada equipo.

Aquí está mi método para simular los dibujos y asignar los puestos de borrador a cada equipo. standingsArray es una matriz de elementos del equipo de tipo ObjectWrapper, con valores de nombre, semilla, victorias, pérdidas, borrador de position exc … para cada equipo. Entonces, básicamente, lo que estoy haciendo es que tengo 14 bolas y elijo aleatoriamente 4 bolas, que constituyen una combinación (el order no importa). Entonces, esencialmente, hay un total de 1001 combinaciones posibles totales, pero una es rechazada. (puede ignorar el primer bucle while porque solo está ahí para que no se select la combinación desechada). Se asigna una cantidad de combinaciones a los 14 equipos de lotería basados ​​en el logging (250 para el peor equipo, 199 para el segundo peor exc …). El argumento en mi standingsArray ya tiene el número de posibilidades asignadas a cada equipo. Luego, tiro aleatoriamente 4 bolas de las posibilidades totales, y el equipo con esa combinación obtiene la primera selección. Pero como todas las combinaciones para ese equipo seleccionado no pueden elegirse nuevamente para la segunda selección, debo eliminar todas esas combinaciones, pero eso es muy complicado, por lo que hago una nueva matriz llamada tempPossibilities que agrega todas las combinaciones para cada equipo excepto el que acabo de seleccionar, que luego me permite generar una nueva combinación para seleccionar.

Sin embargo, estoy recibiendo un error en esta línea for j in 0...(standingsArray[i].possibilities?.count)!-1{ error de instrucción incorrecta y no puedo entender por qué obtengo este error. ¿Y qué más no tiene sentido es que el bucle for funciona y el array tempPossibilities está completamente lleno con la cantidad correcta de combinaciones (sin el equipo de lotería), aunque el error ocurra en el bucle for? El código se encuentra a continuación: se agradece cualquier ayuda, gracias, y lo siento por el párrafo realmente largo

  func setDraftPositions(var standingsArray: [Team])->[Team]{ var lottery: [Team]=[] var totalPossibilities: [[Int]]=combosOfLength(14, m: 4) var tempPossibilities = [] var rand = Int(arc4random_uniform(UInt32(totalPossibilities.count))) var draw = totalPossibilities[rand] while (draw==(unused?.first)!) { rand = Int(arc4random_uniform(UInt32(totalPossibilities.count))) draw = totalPossibilities[rand] } s: for x in 0...13{ for a in 0...(standingsArray[x].possibilities?.count)!-1{ if(draw==standingsArray[x].possibilities![a]){ standingsArray[x].setDraftingPosition(1) standingsArray[x].isLottery=true; lottery.append(standingsArray[x]) for i in 0...(standingsArray.count-1) { if(standingsArray[i].firstName != standingsArray[x].firstName!) { for j in 0... (standingsArray[i].possibilities?.count)!-1{ //ERROR is happening here tempPossibilities.append(standingsArray[i].possibilities![j]) } } } standingsArray.removeAtIndex(x) break s; } } } 

(repite esto para los próximos 2 selects)

Prueba esto:

 for j in 0...(standingsArray[i].possibilities?.count)!-1{ 

debe escribirse así:

 for j in 0...(standingsArray[i].possibilities?.count)! - 1{ 

necesita un espacio adecuado.