首页 > 解决方案 > 有人可以帮我阻止 arc4random 生成的数字再次出现吗?

问题描述

arc4random用来生成一个随机数,然后我用它来显示图像资产,但我需要一个按钮,arc4random一旦按下它就会停止再次生成该数字

 @IBAction func Button(_ sender: Any) {


        let BugRandom = arc4random_uniform(18)


        Smallbug.image = UIImage(named: "Bug\(BugRandom)")


    }

有谁知道这是否可能或我应该寻找什么?

标签: swiftif-statementarc4random

解决方案


尝试这个:

var randomAssets: Set<Int> = Set(0...18)

@IBAction func Button(_ sender: Any) {
    guard let random = randomAssets.randomElement() else {
        return
    }
    randomAssets.remove(random)
    Smallbug.image = UIImage(named: "Bug\(random)")
}

但是有一个警告,18次后它明显停止工作。


推荐阅读