我正试着自己学习,如果事实证明这很简单就很抱歉。
我想创建一个函数,给定两个数字(例如:5,60)给出这两个数字之间的随机数(例如:33,56,12,但不是2或90)。
我尝试在Playground上使用这行代码并且它有效
var a : UInt32
var b : UInt32
a = 5
b = 60
let randomNumber = arc4random_uniform(b-a) + a
//gives back a random number between 5 and 60
但是,当我使用相同的方法创建我的viewController.swift函数randomNumberInBetween时,它会给我一个错误。
var a = UInt32()
var b = UInt32()
var randomNumberInBetween = Int()
func randomInBetween() {
randomNumberInBetween = Int(arc4random_uniform(b - a) + a)
// here I get this error: Thread 1 : EXC_BAD_INSTRUCTION (code=EXC_l386_INVOP,subcode=0x0)
}
@IBAction func TextAAction(sender: AnyObject) {
a = UInt32(TextA.text!)!
}
@IBAction func TextBAction(sender: AnyObject) {
b = UInt32(TextB.text!)!
}
@IBAction func randomInBetweenAction(sender: AnyObject) {
randomInBetween()
unHide()
Label.text = "\(randomInBetween)"
NSLog("\(randomInBetween)")
}
(PS: TextA是一个文本字段,用户在其中插入值a(例如:5) TextB是一个文本字段,用户在其中插入值b(例如:60))
我一直试图自己解决这个问题,但我只是失去了希望,任何人都知道问题是什么? 谢谢:))