Swift 2
let gap = CGFloat(randomInRange(StackGapMinWidth...maxGap))
调用中缺少参数标签"范围:">
Swift 3- 新错误
let gap = CGFloat(randomInRange(range: StackGapMinWidth...maxGap))
没有"..."候选项生成预期的上下文结果类型"范围">
"..."的重载存在以下结果类型:闭合范围、可数闭合范围
从 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)