这些结果类型存在“...”的重载:ClosedRange<Bound>、CountableClosedRange<Bound>
Overloads for '...' exist with these result types: ClosedRange<Bound>, CountableClosedRange<Bound>
Swift 2
let gap = CGFloat(randomInRange(StackGapMinWidth...maxGap))
Missing argument label 'range:' in call
Swift 3 - 新错误
let gap = CGFloat(randomInRange(range: StackGapMinWidth...maxGap))
No '...' candidates produce the expected contextual result type 'Range'
Overloads for '...' exist with these result types: ClosedRange, CountableClosedRange
从 Swift 3 开始,..<
和 ...
产生不同种类的范围:
..<
生成 Range
(或 CountableRange
,具体取决于基础类型),它描述了不包括上限的半开范围。
...
生成一个 ClosedRange
(或 CountableClosedRange
),它描述了一个包含上限的封闭范围。
如果randomInRange()
计算给定范围内的随机数,
包括上限,那么应该定义为
func randomInRange(range: ClosedRange<Int>) -> Int {
// ...
}
你可以称它为
let lo = 1
let hi = 10
let r = randomInRange(range: lo ... hi)
Swift 2
let gap = CGFloat(randomInRange(StackGapMinWidth...maxGap))
Missing argument label 'range:' in call
Swift 3 - 新错误
let gap = CGFloat(randomInRange(range: StackGapMinWidth...maxGap))
No '...' candidates produce the expected contextual result type 'Range'
Overloads for '...' exist with these result types: ClosedRange, CountableClosedRange
从 Swift 3 开始,..<
和 ...
产生不同种类的范围:
..<
生成Range
(或CountableRange
,具体取决于基础类型),它描述了不包括上限的半开范围。...
生成一个ClosedRange
(或CountableClosedRange
),它描述了一个包含上限的封闭范围。
如果randomInRange()
计算给定范围内的随机数,
包括上限,那么应该定义为
func randomInRange(range: ClosedRange<Int>) -> Int {
// ...
}
你可以称它为
let lo = 1
let hi = 10
let r = randomInRange(range: lo ... hi)