gpt4 book ai didi

swift - 当我试图解释 nil 时,我忽略了什么?

转载 作者:可可西里 更新时间:2023-11-01 02:17:19 25 4
gpt4 key购买 nike

我已经多次重读 Swift 文档,但恐怕我忽略了这里的一些简单内容。

如果字段 caloriesConsumed.text 中有值,下面的函数处理得很好并正确调用 updateCalorieBalance 方法。但是,当然,如果 caloriesConsumed.text 为 nil,就会崩溃。

我收到的错误消息是: fatal error :在展开可选值时意外发现 nil。

非常感谢您的帮助。

@IBAction func buttonThree(sender: AnyObject) {

var calConsumed: String?

if let calConsumed = caloriesConsumed.text {
calorieCount.updateCalorieBalance(Double(calConsumed)!)
balanceLabel.text = "New Balance: \(Int((calorieCount.getCalorieBalance())))"
} else {
balanceLabel.text = "Please enter calories to add."
}

caloriesConsumed.resignFirstResponder()
}

最佳答案

calConsumed 不应是可选字符串。实际上,“if let”创建了自己的变量,因此您现在有两个同名的变量...

如果 calConsumed 是一个空字符串 或不包含数字的字符串,Double (calConsumed) 返回 nil。这 !你使用的会使它崩溃。

if let calText = caloriesConsumed.text, 
calNumber = Double (calText) {
...
}

(未测试甚至未编译)。

关于swift - 当我试图解释 nil 时,我忽略了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36121489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com