gpt4 book ai didi

double 的 Swift 可选和默认值

转载 作者:行者123 更新时间:2023-11-28 09:39:19 25 4
gpt4 key购买 nike

我正在尝试根据来自可选响应的 double 设置文本提供程序的值。我觉得应该有一个更短的方法来做到这一点,但是当我尝试使用默认值时,它坚持默认值必须是 double 值,我想要一个字符串来替换它。

伪代码:

If we have a current value 
use it
else
use "--"

我认为可行的方法

let currentValue = uvProduct.currentValue()?.value
currentTextProvider = CLKSimpleTextProvider(text: String( currentValue ?? "--" ))

当前尝试

let currentValue = uvProduct.currentValue()?.value
let currentTextProvider : CLKSimpleTextProvider

if (currentValue != nil){
currentTextProvider = CLKSimpleTextProvider(text: String( currentValue! ))
} else {
currentTextProvider = CLKSimpleTextProvider(text: "--")
}

最佳答案

这是在可选 上使用map 的好地方:

let currentValue = uvProduct.currentValue()?.value
let currentTextProvider = CLKSimpleTextProvider(text: currentValue.map(String.init) ?? "--")

map 将返回 nil 如果 optionalnil,否则它将运行提供的闭包。在这种情况下,String.init 接受一个 Double 并返回一个 Stringnil-coalescing operator ?? 展开 map 的结果(这是一个 String?)或替换它如果 currentValuenil,则使用 "--"

关于double 的 Swift 可选和默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53876349/

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