¿Cómo podría dominar la depuración en el desarrollo de iOS con Xcode?

Primer elemento de la lista: puntos de interrupción. Al hacer clic en el área del lado izquierdo al lado de una declaración en el código, puede marcar una flecha azul, que es un punto de interrupción y es una herramienta invaluable para resolver problemas o simplemente comprender el flujo de operaciones en un código en particular.

Esto me lleva al segundo elemento de la lista: ejecución paso a paso. Una vez que llegue a un punto de interrupción, puede ejecutar las siguientes declaraciones paso a paso, también puede elegir profundizar en una función específica o pasar por encima de ella.

Esto me lleva al tercer elemento de la lista: depuración en vivo. Cuando su código se detiene en algún momento, puede usar el depurador en línea para observar o incluso cambiar el valor de una variable para asegurarse de que tenga sentido en ese contexto. ¿Es nulo? ¿Asumí erróneamente que no es así? ¿En qué está ese contador en el bucle?

Siguiente: Afirmaciones. afirmar (variable! = nulo). Estas declaraciones harán que el programa falle inmediatamente cuando no se cumpla una condición previa o posterior. Herramienta muy útil para validar sus supuestos.

Finalmente, pruebas unitarias. Esto le permite asegurarse de que para un método / función se produzca la salida correcta para un conjunto específico de entradas. Particularmente útil para pruebas de regresión; desea asegurarse de que cualquier error que haya solucionado hoy no vuelva a perseguirlo más tarde.

Primero, comenzaría con la inserción de declaraciones de impresión o registro. Esto proporcionará mucha ayuda inicialmente. Luego, sigue toda la respuesta de Ghislain. Luego estudie, qué hace el seguimiento de la pila para usted y también mire las sesiones de video WWDC de Apple sobre depuración a partir de años anteriores, digamos 2012 y avance. La depuración en sí misma es difícil de enseñar en tutoriales. Los tutoriales pueden repasar cómo acceder a las herramientas, pero saber CÓMO usar la herramienta de manera efectiva solo requiere mucha práctica y tiempo, y localizar algunos errores propios. Seguir un enfoque estructurado y patrones de diseño lo ayudará junto con las pruebas unitarias para que pueda pasar menos tiempo depurando. Aprender esas técnicas consumirá mucho tiempo, pero si planeas codificar la mayor parte de tu vida, la energía gastada en el diseño y las pruebas adecuadas será como pasar el tiempo yendo a la universidad y a la escuela de medicina para convertirte en médico.