Перейти к содержимому

Thread 1 signal sigabrt swift как исправить

  • автор:

Thread 1: signal SIGABRT при запуске на реальном iPhone?

Соответственно проблема такая, запускаю на iPhone проект (самый простой, кнопка привязанная к лайблу и текстарее), выдает лог ниже, и указывает на строку главного класса с припиской Thread 1: signal SIGABRT (на эмуляторе вообще ошибка спрингборда, да и не с моей мощностью им пользоваться):

return UIApplicationMain(argc, argv, nil, NSStringFromClass([mnpAppDelegate class]));
2013-12-26 19:47:17.993 FirstAction[6026:60b] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key _myField.' *** First throw call stack: (0x2e22ce83 0x385896c7 0x2e22cb89 0x2eb6c3b7 0x2eb7dffd 0x2e19c7e9 0x30d104df 0x30c720fb 0x30ad3b59 0x309b579d 0x309b5719 0x309bc3f1 0x309b9ae5 0x30a2482d 0x30a215fd 0x30a1bb41 0x309b6a07 0x309b5cfd 0x30a1b321 0x32e9b76d 0x32e9b357 0x2e1f7777 0x2e1f7713 0x2e1f5edf 0x2e160471 0x2e160253 0x30a1a5c3 0x30a15845 0x9d275 0x38a82ab7) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)
  • Вопрос задан более трёх лет назад
  • 9931 просмотр

Ошибка «Thread 1: signal SIGABRT» при переходе на другой viewController по нажатию кнопки — swift

Ошибка «Thread 1: signal SIGABRT» при переходе ко второму viewController (класс «Type1ViewController»), перепробовал все не могу пофиксить, вот код из ViewController.swift и скрин Main.storyboard:Main.storyboard Классы view-шек проверил совпадают. Ошибка также возникает при отсутствии всех TextField-ов на втором экране. Ошибка отображается вот здесь в AppDelegate:Часть AppDelegate

import UIKit var position: Int = 1 var positionSecondBack: Int = 0 var answer: String = "" //======================================================================= //------------------------ first view controller ------------------------ //======================================================================= class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate < @IBOutlet weak var LabelTypeEc: UILabel! @IBOutlet weak var LabelType: UILabel! @IBOutlet weak var Button1: UIButton! @IBOutlet weak var Button2: UIButton! @IBOutlet weak var Button3: UIButton! @IBOutlet weak var Next1Butt: UIButton! @IBOutlet weak var ProblemTypePicker: UIPickerView! @IBOutlet weak var PickerAP: UIPickerView! @IBOutlet weak var PickerDP: UIPickerView! @IBOutlet weak var PickerV: UIPickerView! override func viewDidLoad() < super.viewDidLoad() ProblemTypePicker.layer.cornerRadius = 15 PickerAP.layer.cornerRadius = 15 PickerDP.layer.cornerRadius = 15 PickerV.layer.cornerRadius = 15 LabelTypeEc.layer.cornerRadius = 5 LabelType.layer.cornerRadius = 5 Button1.layer.cornerRadius = 15 Button2.layer.cornerRadius = 15 Button3.layer.cornerRadius = 15 Next1Butt.layer.cornerRadius = 15 Button1.setTitle(" Вопросы ", for: .normal) Button2.setTitle(" Вопросы ", for: .normal) Button3.setTitle(" Вопросы ", for: .normal) ProblemTypePicker.delegate = self ProblemTypePicker.dataSource = self PickerAP.delegate = self PickerAP.dataSource = self PickerDP.delegate = self PickerDP.dataSource = self PickerV.delegate = self PickerV.dataSource = self >var list1 = ["аннуитентные платежи", "дифференцированые платежи", "вклады"] var list2 = ["1-ый тип", "2-ый тип", "3-ый тип"] var list3 = ["4-ый тип", "5-ый тип", "6-ый тип"] var list4 = ["7-ый тип", "8-ый тип", "-"] //how much stacks in pickerView func numberOfComponents(in pickerView: UIPickerView) -> Int < return 1 >func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int < var countrows : Int = list1.count if pickerView == ProblemTypePicker < countrows = self.list2.count >return countrows > func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? < if pickerView == ProblemTypePicker < let titleRow = list1[row] return titleRow >else if pickerView == PickerAP < let titleRow = list2[row] return titleRow >else if pickerView == PickerDP < let titleRow = list3[row] return titleRow >else if pickerView == PickerV < let titleRow = list4[row] return titleRow >return "" > func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) < if pickerView == ProblemTypePicker < //buttons witch allow us go to "Type docs" //and //PickerViews what contain from "1 Type" to "9 Type" if row == 0 < position = 1 PickerAP.isHidden = false PickerDP.isHidden = true PickerV.isHidden = true Button1.isHidden = false Button2.isHidden = true Button3.isHidden = true >else if row == 1 < position = 4 PickerAP.isHidden = true PickerDP.isHidden = false PickerV.isHidden = true Button2.isHidden = false Button1.isHidden = true Button3.isHidden = true >else if row == 2 < position = 7 PickerAP.isHidden = true PickerDP.isHidden = true PickerV.isHidden = false Button3.isHidden = false Button2.isHidden = true Button1.isHidden = true >> //what type of problem if pickerView == PickerAP < if row == 0 < position = 1 >else if row == 1 < position = 2 >else if row == 2 < position = 3 >> if pickerView == PickerDP < if row == 0 < position = 4 >else if row == 1 < position = 5 >else if row == 2 < position = 6 >> if pickerView == PickerV < if row == 0 < position = 7 >else if row == 1 || row == 2 < position = 8 >> if position == 1 < Next1Butt.isHidden = false >else if position == 2 < Next1Butt.isHidden = true >else if position == 3 < Next1Butt.isHidden = true >else if position == 4 < Next1Butt.isHidden = true >else if position == 5 < Next1Butt.isHidden = true >else if position == 6 < Next1Butt.isHidden = true >else if position == 7 < Next1Butt.isHidden = true >else if position == 8 < Next1Butt.isHidden = true >else if position == 9 < >> > //======================================================================= //---------------------- 1 Type1ViewController 1 ------------------------ //======================================================================= class Type1ViewController: UIViewController < @IBOutlet weak var LabelType: UILabel! @IBOutlet weak var ButtonBack: UIButton! @IBOutlet weak var ButtonNext: UIButton! @IBOutlet weak var Label1: UILabel! @IBOutlet weak var Label2: UILabel! @IBOutlet weak var Label3: UILabel! @IBOutlet weak var Lanel4: UILabel! //textFields @IBOutlet weak var TextField_1Type_1: UITextField! @IBOutlet weak var TextField_2Type_1: UITextField! @IBOutlet weak var TextField_3Type_1: UITextField! @IBOutlet weak var TextField_4Type_1: UITextField! override func viewDidLoad() < super.viewDidLoad() ButtonBack.layer.cornerRadius = 15 ButtonNext.layer.cornerRadius = 15 >> 

Как исправить ошибку в XCode (Thread 1: SIGABRT)?

«Thread 1: signal SIGABRT» и приложение даже не открывается (что в общем то не странно).
Приложение для расчета индекса массы тела. Окна задал, связь с ними задал.

// // FirstViewController.swift // Mass App // // Created by *** on 30.08.16. // Copyright © 2016 ***. All rights reserved. // import UIKit class FirstViewController: UIViewController < @IBOutlet weak var ageTextField: UITextField! @IBOutlet weak var heightTextField: UITextField! @IBOutlet weak var weightTextField: UITextField! @IBOutlet weak var sexSegmentedControl: UISegmentedControl! @IBOutlet weak var activitySegmentedControl: UISegmentedControl! @IBOutlet weak var resultsLabel: UILabel! @IBAction func calculateTapped(sender: AnyObject) < weak var activitySegmentedControl: UISegmentedControl! func calculateTapped(sender: AnyObject) < var bmr: Double = 0 var bmi: Double = 0 if let age = Int(ageTextField.text!) < if let height = Int(heightTextField.text!) < if let weight = Int(weightTextField.text!) < switch sexSegmentedControl.selectedSegmentIndex < case 0: bmr = 88.362 + 13.397 * Double(weight) + 4.799 * Double(height) - 5.677 * Double(age) case 1: bmr = 447.593 + 9.247 * Double(weight) + 3.098 * Double(height) - 4.330 * Double(age) default: bmr = 0 >bmi = Double(weight) / pow(Double(height) / 100, 2) > > > let factor = [1.375, 1.55, 1.725, 1.9] let selectedFactor = factor[activitySegmentedControl.selectedSegmentIndex] bmr *= selectedFactor resultsLabel.text? = "Вы должны потреблять \(Int(bmr)) килокалорий для поддержания веса.\nИндекс массы тела \(Int(bmi))." UIApplication.sharedApplication().keyWindow!.endEditing(true) > > override func viewDidLoad() < super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. >override func didReceiveMemoryWarning() < super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. >>
2016-08-30 19:05:45.409 Mass App[4618:118258] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key activityTextField.'

Предполагаю что ошибка в том что я до этого вместо activitySegmentedControl писал activityTextField.
Где то это осталось и не дает запуску? Или что.

  • Вопрос задан более трёх лет назад
  • 4970 просмотров

1 комментарий

Оценить 1 комментарий

Fixing “Thread 1: signal SIGABRT” error in iOS

SIGABRT (Signal abort) indicates that the app crash due to failure to access something which is nil or doesn’t exist, usually in my experience it’s Outlets.

  1. In the storyboard, check all your Outlets in each view controller.

2. Make sure you remove the connections with yellow warnings. These are invalid outlets.

3. Check your storyboard ID in the Identity Inspector if the names are correct.

4. Check for any breakpoint in the left side of the code.

Hope this helps someone!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *