当我启动应用程序时,它运行正常。当我点击随机化按钮时,Thread 1: EXC_BAD_INSTRUCTIONS 出现在 finalLABEL.text = str
点。
fatal error :在展开可选值时意外发现 nil
@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
}
最佳答案
尝试保护您的代码:
...
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
}
确保无论何时您想调用不带值的函数,都具有默认值。
关于swift - 线程 1 : EXC_BAD_INSTRUCTIONS | SWIFT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38220984/