我需要一个在应用启动时启动的计时器。计时器用于arc4random,它给出一个从1到10的随机数,并根据该数字选择多个if语句中的一个。当给出随机数时,我还需要定时器重置,以便arc4random可以给出一个新的随机数。我还没有弄清楚如何实现计时器和arc4random,但我举一个if语句的例子。
示例:
{{1}}
答案 0 :(得分:1)
我不确定这是否是您正在寻找的但听起来像是......
var timer = NSTimer()
func viewDidLoad() {
self.timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "getRandomNumber", userInfo: nil, repeats: true)
}
func getrandomNumber(){
let randomNumber = Int(arc4random_uniform(10) + 1)
if randomNumber >= 9 {
print("...")
} else if randomNumber < 9 {
print("...")
}
timer.invalidate()
resetTimer()
}
func resetTimer() {
self.timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "getRandomNumber", userInfo: nil, repeats: true)
}
当视图加载时,timer
开始,每1.0秒调用一次函数getRandomNumber()
。 getRandomNumber()
生成一个randomNumber
,然后根据您打印的数字或相应地执行任何操作,然后在if-else
语句之后使计时器无效,然后调用名为{{的函数1}},它将重新开始。
随机数由resetTimer
生成,其中10是上限,+1是指起始索引。因此,这将生成10到1之间的数字。如果您这样做,例如:Int(arc4random_uniform(10) + 1)
,它将生成20到2之间的数字。
答案 1 :(得分:0)
let timer = Int(arc4random_uniform(10) + 1)
if timer < 3 {
// code
} else if timer < 5 {
// code
} else {
// code
}
答案 2 :(得分:0)
var randomNumber = Double(arc4random_uniform(10) + 1)
var timer = NSTimer()
self.timer = NSTimer.scheduledTimerWithTimeInterval(randomNumber, target: self, selector: "AnyFunctionYouWant", userInfo: nil, repeats: true)
说明:
randomNumber = Double(arc4random_uniform(10) + 1)
创建一个新的var a将其值设置为arc4random函数的返回值。您必须将其强制转换为使其与NSTimer类一起使用
var timer = NSTimer()
使用默认初始值设定项创建新的NSTimer类实例
self.timer = NSTimer.scheduledTimerWithTimeInterval(randomNumber, target: self, selector: "AnyFunctionYouWant", userInfo: nil, repeats: true)
使用计划的计时器间隔初始化您之前创建的NSTimer变量,该计时器间隔设置为您之前生成的随机数。如果您没有将随机数转换为加倍,则它将无法工作,因为此方法的参数需要双倍而不是一个int