当我启动应用程序时,它运行正常。当我单击随机化按钮时,线程1: EXC_BAD_INSTRUCTIONS出现在finalLABEL.text = str点。致命错误:在展开可选值时意外找到零
@IBOutlet var fromACT: UITextField!
@IBOutlet var toEXT: UITextField!
@IBOutlet var finalLABEL: UILabel!
func unsafeRandomIntFrom(start: Int32, to end: Int32) -> Int32 {
let number = Int32(arc4random_uniform(UInt32(end - start + 1))) + start
return number
}
@IBAction func random(sender: AnyObject) {
let convertedNumber = NSString(string: fromACT.text!).intValue
let convertedNumber2 = NSString(string: toEXT.text!).intValue
let randomSV = unsafeRandomIntFrom(convertedNumber, to: convertedNumber2)
let str = String(randomSV)
finalLABEL.text? = str
}发布于 2016-07-06 10:25:04
试图保护您的代码:
...
let convertedNumber = NSString(string: fromACT.text!).intValue
let convertedNumber2 = NSString(string: toEXT.text!).intValue
let randomSV = unsafeRandomIntFrom(convertedNumber, to: convertedNumber2)
if Int(randomSV) != nil {
let str = String(randomSV)
finalLABEL.text? = str
}还可以为函数设置默认值:
func unsafeRandomIntFrom(start: Int32 = 3, to end: Int32 = 6) -> Int32 {
let number = Int32(arc4random_uniform(UInt32(end - start + 1))) + start
return number
}若要确保在不带值的情况下调用函数时,必须具有默认值。
https://stackoverflow.com/questions/38220984
复制相似问题