2016-09-29 117 views
0

所以我得到的错误。斯威夫特EXC_BAD_INSTRUCTION错误

var doorsKnocked = 20 
var sales = 0 
var avgDoorsKnocked = 45.4 
var avgSales = 1.2 

    if Double(doorsKnocked/sales) < Double(avgDoorsKnocked/avgSales) { 
     doorsPerSaleTodayLabel.textColor = UIColor(red: 43/255, green: 182/255, blue: 115/255, alpha: 1.0) 
    } 

我认为这与可选项有关,但我不知道该修复。

+1

也许它必须做一些事情,你被零除:'doorsKnocked/sales'? –

回答

1

所以才要做的事实,我试图用0来划分为了解决这个问题,我把所有的在“如果”子句中使用的销售线。可能不是最干净的方式,但希望这可以帮助别人。

if sales != 0 { 

    if Double(doorsKnocked/sales) < Double(avgDoorsKnocked/avgSales) { 
    doorsPerSaleTodayLabel.textColor = UIColor(red: 43/255, green: 182/255, blue: 115/255, alpha: 1.0) 
    } 

    doorsPerSaleTodayLabel.text = "\(Int(round(1*Double((Double(doorsKnocked)/Double(sales))))/1))" 
    distancePerSaleTodayLabel.text = "\(Double(round(10*(pausedDistanceInMiles/Double(sales)))/10))" 
    timePerSaleTodayLabel.text = "\(Double(round(10*(timeWorkedInHoursDouble/Double(sales)))/10))" 
    } else { 

    } 
+0

如果有效,它可以工作。但看看'guard'声明。这将适用于你在这里。 – Shen