Xcode中的致命错误 - 我知道原因但不知道如何修复它

时间:2015-06-28 01:38:46

标签: ios xcode swift

代码以绿色突出显示为Xcode(主题1:EXC_BAD_INSRTUCTION)

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

函数getAllowanceDue()

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

非常感谢你!

轻松上手 - 我是iOS开发的初学者

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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