声明具有溢出整数的字典 [String:AnyObject]

Declare dictionary [String:AnyObject] with overflowing Integers

在我的一个单元测试中,我需要声明一个 [String:AnyObject],它有时包含大的(>32 位)整数值。

[
   ["timestamp": 1460793600000,"expectedState": "close"],
   ["timestamp": 1460822400000,"expectedState": "open"]
]

将整数写为文字会触发以下错误:

Integer literal overflows when stored into 'Int' error

我知道我可以用 NSNumbers

来写
[
   ["timestamp": NSNumber(longLong:1460793600000),"expectedState": "close"],
   ["timestamp": NSNumber(longLong:1460822400000),"expectedState": "open"]
]

但这与我期望的数据不符(这是一个存储在可转换核心数据 属性 中的 JSON 数组)。

我测试的目的是确保我在 32 位设备上正确处理 64 位值。

其实我觉得有点傻。

我的 NSManagedObject 数组返回的数字属于 __NSCFNumber 类型,因此它们是 NSNumber。

然而,我仍在研究如何编写测试以确保它可以处理 64 位值,而不必 运行 在 32 位设备上进行单元测试。