func rand(max: Int?) -> Int {
var index = Int(arc4random())
return max? != nil ? (index % max!) : index
}
Я получаю исключение в последней строке: EXC_BAD_INSTRUCTION
Я предполагаю, что это связано с тем, что iPhone 5S - 64-битный, а 5 - нет, но я не вижу ничего в вышеприведенной функции, которая имеет дело с 64 битами?
Изменить
Мне удалось решить проблему со следующими настройками, но я все еще не могу объяснить, почему.
func rand(max: Int?) -> Int {
var index = arc4random()
return max? != nil ? Int(index % UInt32(max!)) : Int(index)
}