2016-12-30 131 views
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() 
    } 

} 
+0

确保故事板上没有元素正在寻找代码中不存在的插座 – ntoonio

+1

代码中的哪个位置发生错误? –

+0

不通!它转到一个Thread1文件并在那里显示。 –

回答

0

尝试清洁您的项目。如果这不起作用,请重新创建您在创建项目时创建的任何pod文件。此外,请检查您是否有多个插座或针对同一个对象的操作。