无法打开大型Int

时间:2016-04-26 15:23:36

标签: swift

我有一个Dictionary对象,其中包含大量(纪元时间)。当我尝试将其转换为Int时,结果是完全不同的数字。尝试将其明确地转换为Int64String都会产生nil

(lldb) po postData["createdDate"]
▿ Optional<AnyObject>
  ▿ Some : 1 elements
    - [0] : 1461681488000

(lldb) po postData["createdDate"] as? [Int]
▿ Optional<Array<Int>>
  ▿ Some : 1 elements
    - [0] : 1392607360

(lldb) po postData["createdDate"] as? [Int64]
nil

(lldb) po postData["createdDate"] as? [String]
nil

我使用的是64位系统,远远低于Int64的上限。这里发生了什么,我该如何访问这个号码?

PS:我知道日期应该以ISO 8601格式传输,但这是我正在处理的输入。

1 个答案:

答案 0 :(得分:2)

数字字典对象桥接到NSNumber

将值转换为NSNumber并获取longLongValue

if let epochTime = postData["createdDate"] as? NSNumber {
  let longNumber : Int64 = epochTime.longLongValue
}