我在变量labels04中实例化了一个UITextField数组。我循环做一些计算。在计算之后,我尝试使用数组的索引来进一步计算我的算法但得到错误的指令错误。
@IBOutlet var labels04: [UITextField]!
var gpacalc1:Int = 0
var gpacalcDivide:Int = 0
var convertIndexGPA:Int = 0
在线
gpacalcDivide = gpacalculate / convertIndexGPA
我得到一个THREAD1:EXC_BAD_INSTRUCTION(CODE = EXC_I386_INVOP,子代码0x0)
buttonContext
{
for label:UITextField in labels04 {
//calculations ...
gpacalculate = gpacalculate + gpacalc!
convertIndexGPA = labels04.index(of: label)!
gpacalcDivide = gpacalculate / convertIndexGPA
gpaTotalCalc.text! = "GPA: \(gpacalcDivide)"
}
}
我认为它与使用labels04.index(of:label)有关!命令。虽然它在控制台中打印为整数,但是当我尝试将该值用于算术运算时,我会收到错误的指令错误提示。
有没有办法解决这个问题?谢谢
答案 0 :(得分:3)
在for循环的第一次迭代期间,labels04.index(of: label)!
应该等于0(即第一个索引),所以在下一行 - gpacalcDivide = gpacalculate / convertIndexGPA
- 你将除以0导致错误。