首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >线程1: EXC_BAD_INSTRUCTIONS = SWIFT

线程1: EXC_BAD_INSTRUCTIONS = SWIFT
EN

Stack Overflow用户
提问于 2016-07-06 09:46:44
回答 1查看 64关注 0票数 1

当我启动应用程序时,它运行正常。当我单击随机化按钮时,线程1: EXC_BAD_INSTRUCTIONS出现在finalLABEL.text = str点。致命错误:在展开可选值时意外找到零

代码语言:javascript
复制
@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
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-06 10:25:04

试图保护您的代码:

代码语言:javascript
复制
...
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
}

还可以为函数设置默认值:

代码语言:javascript
复制
func unsafeRandomIntFrom(start: Int32 = 3, to end: Int32 = 6) -> Int32 {
    let number =  Int32(arc4random_uniform(UInt32(end - start + 1))) + start
    return number
}

若要确保在不带值的情况下调用函数时,必须具有默认值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38220984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档