Swift SIGABRT 错误?但是我解决了吗?
Swift SIGABRT Error? But I resolved it?
我还有一个错误,这是常见的 swift 错误
Thread 1: signal SIGABRT
我知道如何修复这个错误。这是我最近的问题。
但是现在我正在做一个新的项目,我得到了这个错误!所以我试图修复它,我以为我明白了 - 但我没有..我检查了我所有的插座和所有东西,但没有任何痕迹表明这是从哪里来的......
这是我的代码:
导入 UIKit
class ViewController: UIViewController {
//Variables
var tempature:Int = 50
var battery:Int = 100
var monsterCount:Int = 0
//Outlets
@IBOutlet weak var BatteryLevel: UILabel!
@IBOutlet weak var TempDisplay: UILabel!
//The spy camera
@IBOutlet weak var monsterImageDisplay: UIImageView?
//The background image
@IBOutlet weak var backgroundImageShow: UIImageView!
//Functions
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
monsterImageDisplay?.isHidden = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//The interval to keep things going
var helloWorldTimer = Timer.scheduledTimer(timeInterval: 3.0, target: self, selector: Selector(("spawnMonstor")), userInfo: nil, repeats: true)
func spawnMonstor() {
monsterImageDisplay?.isHidden = false
monsterCount += 1
if monsterCount >= 3 {
let randomNumberBackgroundImage = arc4random_uniform(10)
if randomNumberBackgroundImage >= 5 {
backgroundImageShow.image = UIImage(named: "main-room-jumpTop")
} else if randomNumberBackgroundImage <= 5 {
backgroundImageShow.image = UIImage(named: "main-room-jumpBottom")
}
} else if monsterCount >= 5 {
let alert = UIAlertController(title: "GAME OVER", message: "Sorry! You died...", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Okay..", style: UIAlertActionStyle.default, handler: nil))
self.present(alert, animated: true, completion: nil)
}
}
//The shock rooms button
@IBAction func ShockRooms(_ sender: Any) { monsterImageDisplay?.isHidden = true
}
}
检查您的 UIImage 名称是否与 xcassets 文件夹中的名称完全相同。
不要使用 helloWorldTimer
,而是将此写在 class 的顶部,在您的插座下方:
var helloWorldTimer = Timer()
然后在您的 viewDidLoad
中添加:
helloWorldTimer = Timer.scheduledTimer(timeInterval: 3.0, target: self, selector: Selector(("spawnMonstor")), userInfo: nil, repeats: true)
我还有一个错误,这是常见的 swift 错误
Thread 1: signal SIGABRT
我知道如何修复这个错误。这是我最近的问题。
但是现在我正在做一个新的项目,我得到了这个错误!所以我试图修复它,我以为我明白了 - 但我没有..我检查了我所有的插座和所有东西,但没有任何痕迹表明这是从哪里来的......
这是我的代码:
导入 UIKit
class ViewController: UIViewController {
//Variables
var tempature:Int = 50
var battery:Int = 100
var monsterCount:Int = 0
//Outlets
@IBOutlet weak var BatteryLevel: UILabel!
@IBOutlet weak var TempDisplay: UILabel!
//The spy camera
@IBOutlet weak var monsterImageDisplay: UIImageView?
//The background image
@IBOutlet weak var backgroundImageShow: UIImageView!
//Functions
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
monsterImageDisplay?.isHidden = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//The interval to keep things going
var helloWorldTimer = Timer.scheduledTimer(timeInterval: 3.0, target: self, selector: Selector(("spawnMonstor")), userInfo: nil, repeats: true)
func spawnMonstor() {
monsterImageDisplay?.isHidden = false
monsterCount += 1
if monsterCount >= 3 {
let randomNumberBackgroundImage = arc4random_uniform(10)
if randomNumberBackgroundImage >= 5 {
backgroundImageShow.image = UIImage(named: "main-room-jumpTop")
} else if randomNumberBackgroundImage <= 5 {
backgroundImageShow.image = UIImage(named: "main-room-jumpBottom")
}
} else if monsterCount >= 5 {
let alert = UIAlertController(title: "GAME OVER", message: "Sorry! You died...", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Okay..", style: UIAlertActionStyle.default, handler: nil))
self.present(alert, animated: true, completion: nil)
}
}
//The shock rooms button
@IBAction func ShockRooms(_ sender: Any) { monsterImageDisplay?.isHidden = true
}
}
检查您的 UIImage 名称是否与 xcassets 文件夹中的名称完全相同。
不要使用
helloWorldTimer
,而是将此写在 class 的顶部,在您的插座下方:
var helloWorldTimer = Timer()
然后在您的 viewDidLoad
中添加:
helloWorldTimer = Timer.scheduledTimer(timeInterval: 3.0, target: self, selector: Selector(("spawnMonstor")), userInfo: nil, repeats: true)