我是Swift的新手,我正在尝试开发一个测验应用。当我尝试在我的iPhone上加载应用程序时,我在AppDelegate类中收到SIGABRT的这个错误,然后手机上只有一个白色的屏幕。我怎样才能解决这个问题?我已经尝试清理代码了,我擦除并仔细检查了按钮和代码之间的链接(正如另一个问题中建议的那些答案),我仍然得到这个错误。
下面是我的观点类
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.
}
任何帮助都会非常感激!先感谢您。
答案 0 :(得分:1)
看看你的Xcode控制台日志所说的内容会很好。通常,如果任何插座的链接断开,则日志中会有信息。
另外,如果要回答关于如何跟踪Xcode中的当前和旧链接以及IBOutlets和IBAction的问题,左侧会有一个点。如果它被填满,则表示出口和动作正确连接。
请注意,有时会出现Xcode问题,并且这些圈子无法正确显示。只需在相关的故事板上单击一次,然后单击viewController文件,您的所有链接都将正确反映。
答案 1 :(得分:0)
SIGABRT表示该应用程序名为abort()(一种带有delibaiba的崩溃)。要了解有关该问题的更多信息,可以添加异常断点。要执行此操作,您需要转到断点导航器,单击“+”按钮和“添加异常断点
要了解有关可用调试工具的更多信息,我建议您阅读Apple's Debug tool documentation