Swift - 试图理解在尝试在两个数字之间生成随机数时代码崩溃的原因?

时间:2016-06-20 13:42:57

标签: ios swift function random viewcontroller

我正试着自己学习,如果事实证明这很简单就很抱歉。

我想创建一个函数,给定两个数字(例如: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))

我一直试图自己解决这个问题,但我只是失去了希望,任何人都知道问题是什么? 谢谢:))

0 个答案:

没有答案