gpt4 book ai didi

Swift - 在一行代码中完成文本字段字符串检查中的数字

转载 作者:行者123 更新时间:2023-11-30 13:28:18 25 4
gpt4 key购买 nike

您好,我在 osx 应用程序首选项 Pane 中有许多字段,我想检索字符串,检查它是否是有效数字,如果是有效数字,则使用它。像这样:

if let tS = NSNumberFormatter().numberFromString(sizeTextfield.stringValue) {
pref.thumbnailSize = Float(tS)
}

我希望能够在一行中完成此操作,例如:

pref.thumbnailSize = (let tS = NSNumberFormatter().numberFromString(sizeTextfield.stringValue) != nil) ? Float(tS) : self.pref.thumbnailSize

但是 XCode 不喜欢它。

我只是希望通过重用中介来减少冗长......

我可以做:

pref.thumbnailSize = NSNumberFormatter().numberFromString(self.thumbnailSizeTextfield.stringValue) != nil ? Float(NSNumberFormatter().numberFromString(self.thumbnailSizeTextfield.stringValue)) : pref.thumbnailSize

但使 NSNumberFormatter 调用两次,而不是在第一次调用后缓存值...

我觉得可能有某种语法糖快捷方式(结合使用 ?? 运算符)可以在这里使用来进一步压缩它,但我想不出来。有什么想法吗?

最佳答案

这个怎么样:

pref.thumbnailSize = NSNumberFormatter().numberFromString(sizeTextfield.stringValue)?.floatValue ?? 0

您可以提供您想要使用的任何默认值,而不是0。如果您希望在 numberFromString 返回 nilpref.thumbnailSize 保持不变,请使用以下命令:

pref.thumbnailSize = NSNumberFormatter().numberFromString(sizeTextfield.stringValue)?.floatValue ?? pref.thumbnailSize

关于Swift - 在一行代码中完成文本字段字符串检查中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36875545/

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