我有一个包含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,但是我不确定该怎么做。
我该怎么办?
答案 0 :(得分:2)
使用起来更安全
let nTSelection = Int.random(in: 0..<nTMax)
此
let nTSelectionProtect = nTSelection -1
如果返回的随机数为零,则会崩溃,该nTSelection -1
将是-1
您还可以使用以下方法获取随机元素
print(array.randomElement())