Ios 如何在swift中停止函数
所以我在swift上做了一个小定时器应用程序,我只有两个按钮。一个用于启动计时器,另一个用于停止计时器并将值重置为0。我已经解决了所有问题,我有一个叫做timer的函数,它为变量“Time”每秒增加一个值。问题是,当我单击停止按钮时,它会将值重置为0,但它会再次计数 问题是如何停止该函数的运行 这里有一些代码Ios 如何在swift中停止函数,ios,swift,function,timer,nstimer,Ios,Swift,Function,Timer,Nstimer,所以我在swift上做了一个小定时器应用程序,我只有两个按钮。一个用于启动计时器,另一个用于停止计时器并将值重置为0。我已经解决了所有问题,我有一个叫做timer的函数,它为变量“Time”每秒增加一个值。问题是,当我单击停止按钮时,它会将值重置为0,但它会再次计数 问题是如何停止该函数的运行 这里有一些代码 var time = 0 func result() { time++ print(time) } @IBAction func clickToStart(sender
var time = 0
func result() {
time++
print(time)
}
@IBAction func clickToStart(sender: AnyObject) {
result()
}
@IBAction func clickToStop(sender: AnyObject) {
time = 0
print(time)
}
override func viewDidLoad() {
super.viewDidLoad()
var timer = NSTimer()
timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("result"), userInfo: nil, repeats: true)
}
将计时器设为成员变量并调用其上的
timer.invalidate()
将计时器设为成员变量并调用其上的timer.invalidate()
将计时器设为成员变量并调用其上的timer.invalidate()
将计时器设为成员变量并调用timer.invalidate()
在其上将变量计时器更改为实例变量。使其变弱,因为系统拥有它,当您停止计时器时,它将自动解除分配
在clickToStop方法中,调用
timer.invalidate()
将变量计时器更改为实例变量。使其变弱,因为系统拥有它,当您停止计时器时,它将自动解除分配
在clickToStop方法中,调用
timer.invalidate()
将变量计时器更改为实例变量。使其变弱,因为系统拥有它,当您停止计时器时,它将自动解除分配
在clickToStop方法中,调用
timer.invalidate()
将变量计时器更改为实例变量。使其变弱,因为系统拥有它,当您停止计时器时,它将自动解除分配
在clickToStop方法中,调用
timer.invalidate()
正如其他人指出的那样,使用timer.invalidate()函数,但如果您正在执行与时间无关的其他操作或希望其他操作停止,也可以使用标志变量
基本上,您可以创建一个bool变量,当用户停止操作时,将bool设置为true。在另一个函数中,如果bool为true,则不要执行操作,除非它为false。这适用于静音按钮
就像在我的游戏中,当游戏结束时,我有一个bool变量touchesInvalid,它位于touchesbeent函数的最顶端。如果touchesInvalid bool为true,则用户不能再执行涉及touch的任何操作。正如其他人使用timer.invalidate()函数指出的那样,但如果您正在执行与时间无关的其他操作或希望停止其他操作,也可以使用标志变量 基本上,您可以创建一个bool变量,当用户停止操作时,将bool设置为true。在另一个函数中,如果bool为true,则不要执行操作,除非它为false。这适用于静音按钮
就像在我的游戏中,当游戏结束时,我有一个bool变量touchesInvalid,它位于touchesbeent函数的最顶端。如果touchesInvalid bool为true,则用户不能再执行涉及touch的任何操作。正如其他人使用timer.invalidate()函数指出的那样,但如果您正在执行与时间无关的其他操作或希望停止其他操作,也可以使用标志变量 基本上,您可以创建一个bool变量,当用户停止操作时,将bool设置为true。在另一个函数中,如果bool为true,则不要执行操作,除非它为false。这适用于静音按钮
就像在我的游戏中,当游戏结束时,我有一个bool变量touchesInvalid,它位于touchesbeent函数的最顶端。如果touchesInvalid bool为true,则用户不能再执行涉及touch的任何操作。正如其他人使用timer.invalidate()函数指出的那样,但如果您正在执行与时间无关的其他操作或希望停止其他操作,也可以使用标志变量 基本上,您可以创建一个bool变量,当用户停止操作时,将bool设置为true。在另一个函数中,如果bool为true,则不要执行操作,除非它为false。这适用于静音按钮 就像在我的游戏中,当游戏结束时,我有一个bool变量touchesInvalid,它位于touchesbeent函数的最顶端。如果touchesInvalid bool为true,则用户不能再执行涉及touch的任何操作