如何在Swift数组中存储多长时间?

Ale*_*one 2 arrays integer-overflow ios long-integer swift

我有一些我想要在数组中发送的用户ID,但是无法找出用于创建具有非常长整数的数组的正确Swift 3语法.我尝试了转换,@前缀和使用as AnyObject,但这不起作用.

let idArray = [10211420262370680, 10211420262370680]
Run Code Online (Sandbox Code Playgroud)

错误:存储到int时整数文字溢出

创建具有如此长整数的数组的正确方法是什么?

Pau*_*tos 9

试试这个:

let idArray: [UInt64] = [10_211_420_262_370_680, ...]
Run Code Online (Sandbox Code Playgroud)

作为包络计算的后面,每10位购买3个十进制数字.例如,UInt32最大限度地出现4_000_000_000等等.

顺便说一句,_上面的下划线只是大数字文字的语法糖 ;-)


Roi*_*kai 9

有符号长整型数组:

let signed64BitIntegerArray: [Int64] =      [-10211420262370680, 10211420262370680]
Run Code Online (Sandbox Code Playgroud)

无符号长整型数组:

let unsigned64BitIntegerArray: [UInt64] =   [ 10211420262370680, 10211420262370680]
Run Code Online (Sandbox Code Playgroud)