Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift:如何使方法每10秒调用一次_Ios_Swift - Fatal编程技术网

Ios Swift:如何使方法每10秒调用一次

Ios Swift:如何使方法每10秒调用一次,ios,swift,Ios,Swift,在我的主ViewController ViewDidLoad中,有以下代码每秒调用“tick”方法 self.timerTick = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(ViewController.tick), userInfo: nil, repeats: true) 在“tick”方法中,我每秒检查一个布尔值是否为true,如果为true,我需要调用第二个名为Speak

在我的主ViewController ViewDidLoad中,有以下代码每秒调用“tick”方法

self.timerTick = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(ViewController.tick), userInfo: nil, repeats: true)

在“tick”方法中,我每秒检查一个布尔值是否为true,如果为true,我需要调用第二个名为SpeakText()的方法,但我只想每10秒调用一次SpeakText()。我该怎么做呢?

只要在调用speaktext函数时为speaktext创建另一个计时器就可以了。如果小于10秒,则返回false

创建一个类属性,以跟踪自上次
SpeakText
以来的时间。每次调用
tick
时更新它,调用
SpeakText
时将其重置为
0

var secondsSinceSpeakText = 10

func tick() {
    secondsSinceSpeakText += 1
    if boolFlag && secondsSinceSpeakText >= 10 {
        SpeakText()
        secondsSinceSpeakText = 0
    }
}
注意:以初始值
10
启动
secondsSinceSpeakText
将允许第一个
SpeakText
立即发生