49 votes

Swift error: signalez à SIGABRT comment le résoudre

Je suis juste un débutant dans la Swift de codage. Mon idée est assez simple, c'est une application avec deux boutons. Lorsque vous cliquez dessus, un textfield va changer son texte. Dans la Principale.StoryBoard, j'ai ajouter un champ de texte et deux boutons. Dans Le ViewController.swift fichier. J'écris comme ceci:

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"
    }
}

Il est censé être tout droit. Cependant, une erreur s'affiche qui indique:

thread1:signal SIGABRT

dans le fichier AppDelegate.swift ligne:

class AppDelegate: UIResponder, UIApplicationDelegate

Quel est le problème avec mon code?

78voto

Andy Lebowitz Points 1029

Vous obtenez une erreur SIGABRT chaque fois que vous avez une prise déconnectée. Cliquez sur votre contrôleur de vue dans le storyboard et accédez aux connexions dans le panneau latéral (le symbole de la flèche). Voyez si vous avez une prise supplémentaire là-bas, un duplicata ou une prise supplémentaire qui n'est pas connectée. Si ce n'est pas le cas, vous n'avez peut-être pas connecté correctement vos points de vente à votre code.

Rappelez-vous simplement que SIGABRT se produit lorsque vous essayez d'appeler une prise (bouton, vue, champ de texte, etc.) qui n'existe pas.

34voto

dangalg Points 5208

Pour moi, ce n'était pas une prise de courant. J'ai résolu le problème en allant à l'erreur Et à la lecture de ce qu'il dit. (Aussi Noob..)

C'était l'erreur:

enter image description here

Et La solution est ici: enter image description here

Il suffit de faire défiler jusqu'à la sortie et l'erreur sera révélé.

34voto

Marwan Salim Points 342

Je résous le problème en nettoyant le projet et en le reconstruisant .

Pour nettoyer le projet, allez à MenuBar: Produit -> Nettoyer

Ensuite, pour reconstruire, cliquez sur le bouton Exécuter comme d'habitude

10voto

Anshu Shahi Points 101

Une raison courante pour ce type d'erreur est que vous avez peut-être changé le nom de votre IBOutlet ou IBAction vous pouvez simplement vérifier en accédant au code source.

Cliquez sur le principal.storyboard , puis sélectionnez ouvrir en tant que puis sélectionnez le code source enter image description here

le code source sera ouverte

et ensuite, vérifiez si il y a le nom de la iboutlet ou ibaction que vous avez changé , si il y a ensuite, sélectionnez la pièce et de le supprimer puis de nouveau créer iboutlet ou ibaction. Cela devrait résoudre votre problème

8voto

user3116249 Points 1

Dans mon cas, je n'entendais pas d'erreur, mais juste le crash dans AppDelegate et je devais décocher l'option suivante: OS_ACTIVITY_MODE alors je pouvais obtenir le motif réel du crash dans mon fichier .xib.

entrez la description de l'image ici

J'espère que cela peut vous aider aussi :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X