Snelle fout: geef SIGABRT door hoe dit op te lossen

Ik ben nog maar een beginner in Swift-codering. Mijn idee is vrij eenvoudig, namelijk een app met twee knoppen. Wanneer erop wordt geklikt, verandert een tekstveld van tekst.
In het Main.StoryBoard voeg ik een tekstveld en twee knoppen toe.
In ViewController.swift-bestand. Ik schrijf als volgt:

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

Het zou in orde moeten zijn. Er verschijnt echter een fout met het volgende:

thread1:signaal SIGABRT

in bestand AppDelegate.swift regel:

class AppDelegate: UIResponder, UIApplicationDelegate

Wat is er mis met mijn code?


Antwoord 1, autoriteit 100%

Je krijgt een SIGABRT-foutmelding wanneer je een losgekoppeld stopcontact hebt. Klik op je viewcontroller in het storyboard en ga naar aansluitingen in het zijpaneel (het pijlsymbool). Kijk of je daar een extra stopcontact hebt, een duplicaat of een extra stopcontact dat niet is aangesloten. Als dat niet het geval is, heb je misschien je stopcontacten niet correct op je code aangesloten.

Onthoud dat SIGABRT optreedt wanneer u een stopcontact (knop, weergave, tekstveld, enz.) probeert te bellen die er niet is.


Antwoord 2, autoriteit 43%

Om het probleem op te lossen, moet u eerst het project schoonmakenen vervolgens herbouwen.

Om het project op te schonen, ga naar MenuBar: Product -> Schoon

Om het project vervolgens opnieuw op te bouwen, klikt u zoals gewoonlijk op de knop Uitvoeren.


Antwoord 3, autoriteit 43%

Voor mij was het geen uitlaatklep. Ik loste het probleem op door naar de fout te gaan en te lezen wat er stond. (Ook Noob..)

Dit was de fout:

voer hier de afbeeldingsbeschrijving in

En de oplossing was hier:
voer hier de afbeeldingsbeschrijving in

Scroll gewoon omhoog in de uitvoer en de fout wordt onthuld.


Antwoord 4, autoriteit 13%

Een veelvoorkomende reden voor dit soort fouten is dat je de naam van je IBOutlet of IBAction hebt gewijzigd. Je kunt dit eenvoudig controleren door naar de broncode te gaan.

Klik op het main.storyboarden selecteer vervolgens openen als
en selecteer vervolgens broncode
voer hier de afbeeldingsbeschrijving in

broncode wordt geopend

en controleer dan of er de naam is van de iboutlet of ibaction die je hebt gewijzigd, zo ja, selecteer dan het onderdeel en verwijder het en maak dan opnieuw iboutlet of ibaction aan.
Dit zou je probleem moeten oplossen


Antwoord 5, autoriteit 10%

In mijn geval kreeg ik geen foutmelding, alleen de crash in de AppDelegate en moest ik de volgende optie uitschakelen: OS_ACTIVITY_MODEdan kon ik de echte crashreden in mijn .xib-bestand krijgen

voer hier de afbeeldingsbeschrijving in

Ik hoop dat dit jou ook kan helpen 🙂


Antwoord 6, autoriteit 9%

Ik had hetzelfde probleem. Ik maakte een knop in het storyboard en verbond deze met de ViewController, en later verwijderde ik de knop. Dus de verbinding was er nog, maar de knop niet, en dus kreeg ik dezelfde foutmelding als jij.

Oplossen:

Ga naar de verbindingsinspecteur (de pijl in de rechterbovenhoek, in je storyboard)en verwijder alle ongebruikte verbindingen.


Antwoord 7, autoriteit 6%

Als u dit in Xcode 10 inloopt, moet u reinigen vóór het bouwen. Of, schakel over naar het legacy-build-systeem. Bestand – & GT; Werkruimte-instellingen … – & GT; Build System: Legacy Build System.


8, Autoriteit 3%

In mijn geval was er geen log.

Mijn fout was om een ​​bekijkcontroller in een navigatiestapel te duwen die al deel uitmaakte van de navigatiestapel.


9, Autoriteit 3%

Dit is een veel voorkomende fout en kan voor meerdere redenen gebeuren. De meest voorkomende is wanneer een iboutlet / ibaction aangesloten op een bekijkcontroller in het storyboard is verwijderd uit het SWIFT-bestand, maar niet van het storyboard. Als dit niet het geval is, gebruikt u het logboek in de onderste werkbalk om erachter te komen wat de fout is en diagnosticeert het. U kunt breakpoints en debuggen gebruiken om u te helpen bij het vinden van de fout.

Om erachter te komen hoe u de fout kunt oplossen, gebruik dan dit artikel dat ik op Google heb gevonden: https://rayaans.com/fixing-the-notorious-sigabrt-rror-in-xcode

Other episodes