gpt4 book ai didi

ios - 将字符串值从 UILabel 转换为 Int 返回 nil | swift 2/Xcode 7

转载 作者:搜寻专家 更新时间:2023-10-31 22:34:23 25 4
gpt4 key购买 nike

我有一个 UILabel,它包含一个数字的 String 值,例如;

@IBOutlet weak var label: UILabel!

label.text = "5"

然后我尝试将字符串值转换为未包装的 Int 常量。以前我使用 toInt 但现在已经不存在了,我尝试这样做,

let labelText: String = label.text!
let size: Int! = Int(labelText)

然而 size 返回一个 nil 值而不是转换后的值,在这种情况下它应该是一个 Int 值 5。有人知道我哪里错了吗使用新语法?

最佳答案

您提供的语法应该有效。

可能 label.text 被设置为一些其他值,这会使转换失败。

下面是一些可以使 sizenil 的例子:

label.text = "5+"
label.text = "5.0"

是的,即使是“5.0”也会导致转换失败。

显式转换为 Double 并转换回 Int 应该可行。

如果你不喜欢处理转换的东西(或者你不知道文本的格式),你可以通过使用 NSNumberFormatter 来避免它,这是一个例子:

let formatter = NSNumberFormatter()
formatter.numberStyle = .DecimalStyle

if let number = formatter.numberFromString(labelText) {
// number is an instance of NSNumber
size = number.integerValue
}

请注意,创建NSNumberFormatter 是一项开销很大的操作,请尽可能缓存它。

关于ios - 将字符串值从 UILabel 转换为 Int 返回 nil | swift 2/Xcode 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33323979/

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