1
我需要创建一个其对象类型为Range的数组。但是,创造像下面的阵列产生一个错误“引用泛型类型‘范围’要求论点< ...>”在Swift中将数组存储在数组中
var ranges:Array<Range> = []
基本上,我想要做到的是创建范围的列表将作为生成随机类型的阶梯函数。我已经完成了这个而不使用数组,但是当我添加更多类型时,我觉得需要将它们循环到数组中。我的问题是,范围不知何故不能存储在一个数组在Swift中。这是我的旧代码工作。
let twisterUpperRange = UInt32(roundf(twisterRate * 1_000))
let bombUpperRange = UInt32(roundf(bombRate * 1_000)) + twisterUpperRange
let blindUpperRange = UInt32(roundf(blindRate * 1_000)) + bombUpperRange
let randomNumber = arc4random_uniform(1_000) + 1
var powerupType:PowerupType
switch randomNumber {
case 0...twisterUpperRange:
powerupType = PowerupType.TwisterType
case twisterUpperRange...bombUpperRange:
powerupType = PowerupType.BombType
case bombUpperRange...blindUpperRange:
powerupType = PowerupType.BlindType
default:
powerupType = PowerupType.NormalType
}
return powerupType
是你的范围都将是相同类型(即' UInt32')?如果是这样,你可以这样做:'var ranges:Array>''。 –
2014-09-25 02:51:45