Сообщение об ошибке
malloc: невозможно выделить область mach_vm_map (size = 34359738368)
говорит о том, что во время выполнения не удалось выделить 32 ГБ памяти - вот чтодля массива из 4294967292 64-разрядных целых чисел потребуется
let myArray: [Int64] = [Int64](0...4294967292)
Но для этого нет необходимости создавать массив.Начиная с Swift 4.2, вы можете просто вызывать
let rnd = Int64.random(in: 0...4294967292)
// or
let rnd = Int64.random(in: 0..<4294967293)
, используя один из
static func random(in range: ClosedRange<Self>) -> Self
static func random(in range: Range<Self>) -> Self
методов протокола FixedWidthInteger
.
В заключение отметим, что 4294967292
не является 2^31 = 2147483648
- если предполагается создать случайное число в диапазоне от 0
(включительно) до 2^31
(исключая), тогда
let rnd = Int32.random(in: 0...Int32.max)
будеттрюк.