我使用以下命令将变量设置为doubleValueUITextField

let enteredTargetDays : Double = numberFormatter.number(from: textField2.text!)?.doubleValue ?? 0.00

这样可以确保即使textField2.textnil并且无法推断出doubleValue0.00也将返回。但是,如果我不想使用默认值,而只想让函数在textField2.text为nil时返回该怎么办?

是这样做的唯一方法是在设置变量之前先检查textField2.textnil,还是有一种更快,更简单的Swifty方法?

最佳答案

不想使用默认值,而只希望函数返回正是guard语句的目的:

func yourFunction() {
    guard let enteredTargetDays = numberFormatter.number(from: textField2.text ?? "")?.doubleValue else {
        return
    }

    // do something with `enteredTargetDays` here
}

10-07 23:59