我在Swift中创建一个大数组的问题

时间:2018-05-17 15:36:19

标签: ios swift memory

如果我在Swift 4中创建这样的数组,有人能告诉我为什么我的笔记本电脑卡住了:

let numbers = Array(0...Int32.max)

1 个答案:

答案 0 :(得分:4)

Swift或笔记本电脑都不是问题。这是如何正确使用它的问题。

对于有符号整数类型,此值为(2 ^(bitWidth - 1)) - 1.因此Int32.max = 2 ^ 31-1 = 2,147,483,647。

32位= 4个字节。所以你有20亿* 4 = 80亿字节~~ 7,700 GB。

你的笔记本电脑有足够的内存吗?