繁体   English   中英

Xcode中的致命错误-我知道原因,但不知道如何解决

[英]Fatal error in Xcode - I know the cause but don't know how to fix it

Xcode以绿色突出显示的代码(线程1:EXC_BAD_INSRTUCTION)

amountDueLabel.text = String(HomeViewController().getAllowanceDue())

函数getAllowanceDue()

func getAllowanceDue() -> Int{
    var allowance = allowanceTextField.text.toInt()
    return allowance!
}

非常感谢!

轻松一点-我是iOS开发的初学者

在Swift中,与Objective C不同,您必须通过将变量标记为可选(?)来明确让编译器知道该变量将来可能为“ nil”。

toInt()方法还返回一个“可选的整数值”,这意味着如果toInt()方法无法将提供的字符串值转换为整数值,则它也可以返回“ nil”值。

在这里,您可以使用allowance!展开可选的Int值allowance! 但是在解开可选值之前,您必须检查可选值是否不是'nil'。

func getAllowanceDue() -> Int {
    if let allowance = anotherString.toInt() {
        return allowance
    }
    return -1
}

通过检查if let allowance = anotherString.toInt()我们实际上在Swift中使用了Optional Binding的概念来检查optional是否包含一个值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM