此iOS Swift代码在运行时生成以下错误:


  线程1:信号SIGBRT


谁能帮助我确定可能的原因和解决方案?

(注意:仅出于示例目的,对Amazon.com的URL进行了硬编码。)

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()
    }

}

最佳答案

尝试清理您的项目。如果那不起作用,请重新创建在创建项目时可能已创建的所有pod文件。另外,检查同一对象是否有多个出口或操作。

关于swift - 线程1:在Swift 3中发出信号SIGABRT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41396058/

10-14 22:11
查看更多