代码以绿色突出显示为Xcode(主题1:EXC_BAD_INSRTUCTION)
amountDueLabel.text = String(HomeViewController().getAllowanceDue())
函数getAllowanceDue()
func getAllowanceDue() -> Int{
var allowance = allowanceTextField.text.toInt()
return allowance!
}
非常感谢你!
轻松上手 - 我是iOS开发的初学者
答案 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的概念来检查可选项是否包含值。