Cum se rezolvă o eroare Thread 1: semnal SIGABRT? [închis] (Programare, Swift, Xcode, Multithreading, Swift5, Sigabrt)

denzel banegas a intrebat.

Am o problemă cu aplicația mea, continuă să apară cu o eroare Thread 1: semnal SIGABRT de fiecare dată când o construiesc. Am căutat o soluție, dar nimic nu pare să funcționeze, vreo idee? Sunt nou în acest domeniu!

Eroare în consolă

Comentarii

  • Ați activat un punct de întrerupere? Aveți un cod pe care să-l împărtășiți? –  > Por Magnas.
  • Verificați dacă identificatorul collectionview este corect și, de asemenea, verificați dacă numărul de elemente din returnarea valorii corecte. Puneți un punct de întrerupere în aceste funcții… –  > Por chirag90.
  • Răspunde la întrebarea dumneavoastră? nu se poate dequeue o celulă cu identificatorul Cell – trebuie să înregistrați un nib sau o clasă pentru identificator sau să conectați o celulă prototip într-un storyboard –  > Por Honey.
  • Nu arătați imagini ale codului (inclusiv ieșirea consolei). Copiați-o și lipiți-o în întrebarea propriu-zisă, ca text. Mulțumesc. –  > Por matt.
  • Arătați codul UICollectionViewController vă rog. O întrebare fără codul relevant este inutilă. Mulțumesc. –  > Por matt.
2 răspunsuri
Joby

Se pare că nu aveți o celulă prototip în vizualizarea colecției. Acest articol te-ar putea ajuta să rezolvi problema.

https://theswiftdev.com/2018/04/17/ultimate-uicollectionview-guide-with-ios-examples-written-in-swift/

Fără să mă uit la cod, presupun că ar trebui să puteți intra în storyboard, să selectați celula și să adăugați numele celulei folosind inspectorul din dreapta.

Sanad Barjawi

Ce înseamnă „Thread 1: Signal SIGABRT”?

Eroarea SIGABRT înseamnă „signal abort”. Este un semnal trimis de iOS către o aplicație în curs de execuție, care închide imediat aplicația din cauza unei erori de execuție. În esență, înseamnă că aplicația dvs. s-a blocat…

ar putea exista cauze posibile

Verifică-ți prizele:

  1. Ați creat un nou controler de vizualizare în Interface Builder și l-ați configurat cu câteva elemente de interfață, cum ar fi butoane și etichete
  2. Ați conectat aceste elemente UI la codul dvs. prin utilizarea proprietăților de ieșire, care creează o conexiune între o proprietate a controlerului de vizualizare și elementul UI din Interface Builder
  3. La un moment dat, ați schimbat numele proprietății outlet inițiale și aplicația dumneavoastră a început să se blocheze cu o eroare SIGABRTerror.

Verificați Stacktrace

în cazul în care Xcode nu vă arată niciun mesaj de eroare util pentru un accident SIGABRT, încercați să tastați comenzi în zona de consolă pentru depanare, cum ar fi help și bt:

bt este foarte utilă pentru a vedea stiva de apeluri curentă (numită și „backtrace” sau „stacktrace”).

Creați un punct de întrerupere pentru excepții

Iată cum puteți seta un punct de întrerupere a excepției:

  1. Mergeți la navigatorul Breakpoint din Xcode, utilizând filele din stânga
  2. Faceți clic pe butonul + din stânga jos și alegeți Exception Breakpoint (Punct de întrerupere excepție)
  3. Lăsați setările implicite așa cum sunt (deși este util să le personalizați)
  4. Rulați codul dvs.

Atunci când este lansată o excepție, execuția aplicației dvs. se oprește. Acum puteți utiliza depanatorul pentru a inspecta valorile, pentru a parcurge codul și pentru a utiliza comenzile LLDB. Atunci când este posibil, Xcode vă va duce la linia de cod care a cauzat excepția.