0
這個iOS的斯威夫特代碼在運行時生成以下錯誤:線程1:信號SIGABRT斯威夫特卡倫特3
線程1:信號SIGBRT
誰能幫助我確定可能的原因和解決辦法?
(注:對Amazon.com的網址是硬編碼僅爲舉例的目的)
import WatchKit
import Foundation
class InterfaceController: WKInterfaceController {
//Outlets erstellen
@IBOutlet var timer: WKInterfaceTimer!
@IBOutlet var slider: WKInterfaceSlider!
@IBOutlet var button: WKInterfaceButton!
//Outlet-Action, bei Änderung des Slider Werts
@IBAction func slider(_ value: Float) {
//Button kann genutzt werden
button.setEnabled(true)
//Text für den Button wird bestimmt
let roundedValue = Int(round(value))
UserDefaults.standard.setValue(roundedValue, forKey: "countdown")
let text: String = "FIRE (\(roundedValue)s)"
button.setTitle(text)
}
//Outlet-Action, wenn der Button gedrückt wird
@IBAction func fire(){
//Timer Farbe wird geändert, um diesen zu sehen
let swiftColor = UIColor(red: 1, green: 222, blue: 113, alpha: 1)
timer.setTextColor(swiftColor)
//Button wird deaktiviert + Button Text nun ...
button.setTitle("...")
button.setEnabled(false)
//Timer Wert abfragen
var countdown: Int = (UserDefaults.standard.value(forKey: "countdown")! as! Int)
//Timer starten
timer.setDate(NSDate(timeIntervalSinceNow: TimeInterval(countdown)) as Date)
timer.start()
//NSTimer mit 1 Sek Intervall
var clock = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: "countdown", userInfo: nil, repeats: true)
func countdown() {
countdown -= 1
if countdown == 4{
//HTTP-Request
var request = URLRequest(url: URL(string: "http://amazon.com")!)
request.httpMethod = "POST"
let session = URLSession.shared
session.dataTask(with: request) {data, response, err in
print("Entered the completionHandler")
}.resume()
//Timer auschalten
let schwarz = UIColor(red: 0, green: 0, blue: 0, alpha: 1)
timer.setTextColor(schwarz)
//Button in Normalzustand
button.setTitle("FIRE (0s)")
button.setEnabled(true)
//Slider auf Standart
slider(0)
}
}
}
override func awake(withContext context: Any?) {
super.awake(withContext: context)
}
override func willActivate() {
// This method is called when watch view controller is about to be visible to user
super.willActivate()
}
override func didDeactivate() {
// This method is called when watch view controller is no longer visible
super.didDeactivate()
}
}
確保故事板上沒有元素正在尋找代碼中不存在的插座 – ntoonio
代碼中的哪個位置發生錯誤? –
不通!它轉到一個Thread1文件並在那裏顯示。 –