我有一个包含7个对象的数组,并且使用Array.count
来获取数组中的对象数。
然后我使用Int.random(in: 0 ... arrayMax)
从数组中获取一个随机对象。但是,因为数组中有7个对象,.count
将返回7,我每隔一段时间就会得到一个错误,因为7
显然是6
。
我试着这样解决这个问题:
let nTMax = Array.count
let nTSelection = Int.random(in: 0 ... nTMax)
print (nTMax, nTSelection)
let nTSelectionProtect = nTSelection -1
但是,
nTSelectionProtect
拒绝被接受。我希望做一个安全计算,这样7永远是6,但我不知道怎么做。我该怎么做?
最佳答案
使用起来更安全
let nTSelection = Int.random(in: 0..<nTMax)
这个
let nTSelectionProtect = nTSelection -1
如果返回的随机数为零,则将崩溃,此
nTSelection -1
将-1
您还可以使用
print(array.randomElement())