Jus*_*ral 2 ios exc-bad-instruction swift
我试图从数组中拉出一个随机项.当我运行时,在拉随机项并给我这个错误"EXC_BAD_INSTRUCTION"之间大约50/50.知道发生了什么事吗?
现在我的代码看起来像这样:在解决方案之前
func randomCard() -> Card {
let randomIndex = Int(arc4random()) % cardArray.count
let randomCard = cardArray[randomIndex]
cardArray.removeAtIndex(randomIndex)
return randomCard
}
Run Code Online (Sandbox Code Playgroud)
后
func randomCard() -> Card {
let randomIndex = arc4random_uniform(UInt32(cardArray.count))
let randomCard = cardArray[randomIndex.hashValue]
cardArray.removeAtIndex(randomIndex.hashValue)
return randomCard
}
Run Code Online (Sandbox Code Playgroud)
这就是我现在正在使用的,似乎正在工作.谢谢大家的帮助.
arc4random可以返回负数,这会导致你的问题,因为negative % positive = negative 更好的方法是使用arc4random_uniform
let randomIndex = arc4random_uniform(UInt32(cardArray.count))
Run Code Online (Sandbox Code Playgroud)
EXC_BAD_INSTRUCTION似乎是一个抛出边界错误的错误异常,但这似乎就是你得到的.
| 归档时间: |
|
| 查看次数: |
3461 次 |
| 最近记录: |