Swift error: señal SIGABRT cómo resolverlo

Solo soy un principiante en la encoding Swift. Mi idea es bastante simple, que es una aplicación con dos botones. Cuando se hace clic, un campo de texto cambiará su texto. En Main.StoryBoard, agrego un campo de texto y dos botones. En el archivo ViewController.swift. Escribo como esto:

import UIKit class ViewController: UIViewController { @IBOutlet weak var textfield: UITextField! @IBOutlet weak var button: UIButton! @IBOutlet weak var button2: UIButton! @IBAction func action1(_ sender: UIButton) { textfield.text="you just clicked on button1" } @IBAction func action2(_ sender: UIButton) { textfield.text="you just clicked on button2" } } 

Se supone que está bien. Sin embargo, aparece un error que muestra:

thread1: signal SIGABRT

en el archivo AppDelegate.swift línea:

 class AppDelegate: UIResponder, UIApplicationDelegate 

¿Qué pasa con mi código?

Resuelvo el problema limpiando el proyecto y reconstruyendo .

Para limpiar el proyecto, vaya a MenuBar: Product -> Clean

Luego, para reconstruir, solo haga clic en el botón Ejecutar como de costumbre

Obtiene un error SIGABRT cada vez que tiene un punto de venta desconectado. Haga clic en su controlador de vista en el guión gráfico y vaya a las conexiones en el panel lateral (el símbolo de flecha). Vea si tiene una toma adicional allí, un duplicado o uno extra que no está conectado. Si no es así, entonces tal vez no haya conectado correctamente sus sockets a su código.

Solo recuerde que SIGABRT ocurre cuando intenta llamar a un punto de venta (botón, vista, campo de texto, etc.) que no está allí.

Para mí no fue una salida. Resolví el problema yendo al error Y leyendo lo que decía. (También Noob ..)

Este fue el error:

enter image description here

Y la solución estaba aquí: enter image description here

Simplemente desplácese hacia arriba en la salida y se revelará el error.

Una razón común para este tipo de error es que puede haber cambiado el nombre de su IBOutlet o IBAction, simplemente puede verificar esto yendo al código fuente.

Haga clic en la tabla principal y luego seleccione abrir como y luego seleccione el código fuente enter image description here

el código fuente se abrirá

y luego verifique si existe el nombre del iboutlet o la acción que ha cambiado, si hay, luego seleccione la parte y elimínela y luego vuelva a crear iboutlet o ibaction. Esto debería resolver su problema

Yo tuve el mismo problema. Hice un botón en el guión gráfico y lo conecté al ViewController, y luego borré el botón. Entonces la conexión todavía estaba allí, pero el botón no, así que recibí el mismo error que tú.

Arreglar:

Diríjase al inspector de conexiones (la flecha en la esquina superior derecha, en su guión gráfico) y elimine las conexiones no utilizadas.

En mi caso, no había ningún registro.

Mi error fue empujar un controlador de vista en una stack de navegación que ya era parte de la stack de navegación.

En mi caso, no recibí el error solo en la falla de AppDelegate y tuve que desmarcar la siguiente opción: OS_ACTIVITY_MODE y pude obtener el motivo real del locking en mi archivo .xib

enter image description here

Espero que esto también te pueda ayudar 🙂