在Swift 4中,我们可以使用计时器来停止长时间运行的函数。下面是一个示例代码:
import Foundation
// 定义一个全局变量来保存计时器
var timer: Timer?
// 长时间运行的函数
func longRunningFunction() {
// 执行一些耗时的操作
// ...
}
// 停止计时器并停止长时间运行的函数
func stopTimer() {
// 检查计时器是否存在
if let timer = timer {
// 停止计时器
timer.invalidate()
// 将计时器设置为nil
self.timer = nil
}
}
// 启动计时器并开始长时间运行的函数
func startTimer() {
// 检查计时器是否已经在运行
if timer == nil {
// 创建计时器并设置时间间隔为1秒
timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { timer in
// 在计时器触发时调用长时间运行的函数
longRunningFunction()
}
}
}
// 调用startTimer函数来启动计时器和长时间运行的函数
startTimer()
// 调用stopTimer函数来停止计时器和长时间运行的函数
stopTimer()
在上面的示例代码中,我们使用了一个全局变量timer
来保存计时器对象。startTimer
函数会检查计时器是否已经在运行,如果没有,则创建一个计时器并设置时间间隔为1秒,然后在计时器触发时调用longRunningFunction
函数。stopTimer
函数会检查计时器是否存在,如果存在,则停止计时器并将其设置为nil。
这种方法可以确保长时间运行的函数在指定的时间间隔内被调用,同时也可以随时停止计时器和函数的执行。
请注意,这只是一个简单的示例代码,实际使用中可能需要根据具体需求进行适当的修改和调整。
关于Swift 4的更多信息和学习资源,您可以参考腾讯云的Swift开发者指南:Swift开发者指南
领取专属 10元无门槛券
手把手带您无忧上云