Я новичок в Swift и пытаюсь разработать приложение для викторин. Когда я пытаюсь загрузить приложение на свой iPhone, я получаю эту ошибку SIGABRT в классе AppDelegate, а затем на телефоне просто белый экран. Как я могу это исправить? Я уже пытался очистить код, стер и тщательно проверил ссылки, которые у меня есть между кнопками и кодом (как предлагается в другом вопросе с этими ответами), и я все еще получаю эту ошибку.
Ниже мой класс просмотра
import UIKit
import Foundation
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
updateQuestion()
}
//Label
@IBOutlet weak var label: UILabel!
@IBOutlet weak var scorelabel: UILabel!
@IBOutlet weak var flagview: UIImageView!
//Botones
@IBOutlet var botona: UIButton!
@IBOutlet var botonb: UIButton!
@IBOutlet var botonc: UIButton!
@IBOutlet var botond: UIButton!
let allQuestions = QuestionBank()
var questionNumber: Int = 0
var score: Int = 0
var selectedAnswer: Int = 0
//Button
@IBAction func boton(_ sender: UIButton) {
if sender.tag == selectedAnswer {
print("Correcto")
score+=1
}
else {
print("Incorrecto")
}
updateQuestion()
}
func updateQuestion(){
flagview.image=UIImage(named:allQuestions.list[questionNumber].questionImage)
label.text=allQuestions.list[questionNumber].question
botona.setTitle(allQuestions.list[questionNumber].optionA, for: UIControlState.normal)
botonb.setTitle(allQuestions.list[questionNumber].optionB, for: UIControlState.normal)
botonc.setTitle(allQuestions.list[questionNumber].optionC, for: UIControlState.normal)
botond.setTitle(allQuestions.list[questionNumber].optionD, for: UIControlState.normal)
selectedAnswer = allQuestions.list[questionNumber].correctAnswer
questionNumber += 1
}
func updateUI(){
}
func restartQuiz(){
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
Любая помощь ДЕЙСТВИТЕЛЬНО будет оценена! Заранее спасибо.
2 ответа
Было бы хорошо посмотреть, что говорят журналы вашей консоли Xcode. Обычно в логах записывается информация о неработающей ссылке на какой-либо точке.
Также, чтобы ответить на ваш вопрос о том, как отслеживать текущие и старые ссылки в Xcode по сравнению с вашими IBOutlets и IBAction, слева есть точка. Если он заполнен, значит, розетка и действие правильно связаны.
Помните, что иногда возникают проблемы с Xcode, и эти круги не отображаются должным образом. Просто щелкните один раз на соответствующей раскадровке, а затем снова щелкните файл viewController, все ваши ссылки будут отображаться правильно.
SIGABRT указывает, что приложение вызвало abort () (сбой без ограничений). Чтобы узнать больше о проблеме, вы можете добавить точку останова исключения. Для этого вам нужно перейти в навигатор точек останова, нажать кнопку «+» и «Добавить исключительную точку останова
Чтобы узнать больше о доступных инструментах отладки, я предлагаю вам прочитать документация по инструменту отладки Apple
Похожие вопросы
Связанные вопросы
Новые вопросы
ios
iOS - мобильная операционная система, работающая на Apple iPhone, iPod touch и iPad. Используйте этот тег [ios] для вопросов, связанных с программированием на платформе iOS. Используйте связанные теги [target-c] и [swift] для проблем, характерных для этих языков программирования.