gpt4 book ai didi

ios - 快速从 nsdictionary 获取 NSNumber

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

我有一个 NSDictionary,它是我在解析 XML 文件后创建的。它将一些数值(例如 6757677)存储为字符串。现在我想把它读入一个NSNumber。我试过以下:

alert.versionNumber = dictRef["VersionNumber"] as! NSNumber

但我收到以下错误:

Could not cast value of type '__NSCFString' (0x1081c9c50) to 'NSNumber' (0x1076abb88).

我也试过以下但得到同样的错误:

let refID:NSNumber = dictRef["referralID"] as! NSNumber
alert.refID = refID.integerValue

这些转换在 Objective C 中很简单,但在 Swift 中却给我带来了困难。

最佳答案

您需要转换 NSString进入 NSNumber绕道long long (最大的有符号整数类型)或 double (最大的浮点类型)。例如:

let string : NSString = "42"

// Integer solution:
let intermediate = string.longLongValue
let number = NSNumber(longLong: intermediate)

// Floating point solution:
let intermediate2 = string.doubleValue
let number2 = NSNumber(double: intermediate2)

请注意,要将字符串转换为其 double 值,您可能需要使用 NSNumberFormatter 正确解析字符串并处理与区域设置相关的差异(例如,小数点分隔符在美国是 . 而在德国是 ,)。

关于ios - 快速从 nsdictionary 获取 NSNumber,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32392143/

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