swift将Range <Int>转换为[Int]

hai*_*ham 86 arrays int range ios swift

如何将Range转换为Array

我试过了:

let min = 50
let max = 100
let intArray:[Int] = (min...max)
Run Code Online (Sandbox Code Playgroud)

得到错误 Range<Int> is not convertible to [Int]

我也尝试过:

let intArray:[Int] = [min...max]
Run Code Online (Sandbox Code Playgroud)

let intArray:[Int] = (min...max) as [Int] 
Run Code Online (Sandbox Code Playgroud)

他们也不工作.

Dav*_*ndz 169

你需要创建一个Array<Int>使用Range<Int>,而不是荷兰国际集团它.

let intArray: [Int] = Array(min...max)
Run Code Online (Sandbox Code Playgroud)

  • @DanielSpringer:不是引起问题的Array中的值,而是索引超出了语言规范中确定的范围。请计算您需要多少RAM,仅用于容纳这个巨大的阵列。 (2认同)

Mr *_*ley 33

将Range放在init中.

let intArray = [Int](min...max)
Run Code Online (Sandbox Code Playgroud)


hai*_*ham 13

我想到了:

let intArray = [Int](min...max)
Run Code Online (Sandbox Code Playgroud)

给予别人信任.


ad1*_*121 13

做:

let intArray = Array(min...max)
Run Code Online (Sandbox Code Playgroud)

这应该工作,因为Array初始化程序采取SequenceTypeRange符合SequenceType.


vad*_*ian 9

使用 map

let min = 50
let max = 100
let intArray = (min...max).map{$0}
Run Code Online (Sandbox Code Playgroud)