在我的主ViewController ViewDidLoad中,我有以下代码每秒调用“tick”方法。
self.timerTick = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(ViewController.tick), userInfo: nil, repeats: true)
在“tick”方法中,我检查布尔值是否每秒都为真,如果为true,我需要调用另一个名为SpeakText()的方法,但我想每10次调用一次SpeakText()秒。我该怎么做?
答案 0 :(得分:3)
创建一个类属性以跟踪自上一个SpeakText
以来的时间。每次调用tick
时都会更新,并在调用0
时将其重置为SpeakText
:
var secondsSinceSpeakText = 10
func tick() {
secondsSinceSpeakText += 1
if boolFlag && secondsSinceSpeakText >= 10 {
SpeakText()
secondsSinceSpeakText = 0
}
}
注意:使用初始值secondsSinceSpeakText
启动10
将允许第一个SpeakText
立即发生。
答案 1 :(得分:0)
当你拨打讲话文本功能时,只需为speaktext创建另一个计时器。如果它在10秒内返回假