swift - 有人可以帮我阻止 arc4random 生成的数字再次出现吗?
问题描述
我arc4random
用来生成一个随机数,然后我用它来显示图像资产,但我需要一个按钮,arc4random
一旦按下它就会停止再次生成该数字
@IBAction func Button(_ sender: Any) {
let BugRandom = arc4random_uniform(18)
Smallbug.image = UIImage(named: "Bug\(BugRandom)")
}
有谁知道这是否可能或我应该寻找什么?
解决方案
尝试这个:
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次后它明显停止工作。
推荐阅读
- xml - Ansible - XML 命名空间
- google-apps-script - 获取 Gsuite google drive 上的文件夹列表,在 Google Sheet 上按字母顺序列出
- javascript - 在浏览器中打开新标签的问题
- sql-server - 将 SQL Server 位类型导入 MS Access 数据库
- python - 使用适用于 Python 的 Bot Framework SDK v4 初始化并向 Microsoft Teams 频道发送消息
- windows - 从批处理文件中的变量中删除最后一个字符
- python - Pandas - 总结两个值之间的两行之间的值
- mysql - mySQL --> LIMIT selected rows, WHERE 列值相同
- r - 关于 R 中除法运算符不返回正确值的问题
- visual-studio - Xamarin.Forms 共享项目 - 无法解决程序集