使用溢出的整数声明字典[String:AnyObject]

时间:2016-04-18 12:40:19

标签: ios swift integer-overflow

在我的一个单元测试中,我需要声明一个func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool { if text == "" { print("Backspace has been pressed") } return true } ,其中包含有时大(> 32位)的整数值。

[String:AnyObject]

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

  

存储到“Int”错误

时,整数文字溢出

我知道我可以用[ ["timestamp": 1460793600000,"expectedState": "close"], ["timestamp": 1460822400000,"expectedState": "open"] ]

写出来
NSNumbers

但这与我期望的数据不匹配(它是存储在Transformatable Core Data属性中的[ ["timestamp": NSNumber(longLong:1460793600000),"expectedState": "close"], ["timestamp": NSNumber(longLong:1460822400000),"expectedState": "open"] ] 数组。)

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

1 个答案:

答案 0 :(得分:0)

实际上,我觉得这有点愚蠢。

我的__NSCFNumber数组返回的数字是{{1}}类型,因此它们是NSNumber。

然而,我仍然在弄清楚如何编写测试以确保它处理64位值而无需在32位设备上运行单元测试。