Ios 调度源取消(计时器)`是否足以取消周期性任务?

Ios 调度源取消(计时器)`是否足以取消周期性任务?,ios,xcode,swift,Ios,Xcode,Swift,我想在ios swift中运行一个重复性任务。 下面是我重复一项任务的代码 如何停止重新刷新任务 我是否缺少stopfreshtimer()中的某些内容 即使我没有错过任何东西,是否在我调用stopfreshtimer()之后仍会运行旧的计划任务?还是立即停止 func startRefreshTimer() { if (timer != nil) {return } let queue = dispatch_queue_create("com.doma

我想在ios swift中运行一个重复性任务。 下面是我重复一项任务的代码

如何停止重新刷新任务

我是否缺少
stopfreshtimer()中的某些内容

即使我没有错过任何东西,是否在我调用
stopfreshtimer()
之后仍会运行旧的计划任务?还是立即停止

   func startRefreshTimer() {
        if (timer != nil)  {return }

        let queue = dispatch_queue_create("com.domain.app.timer", nil)
        timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue)
        dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, 5 * NSEC_PER_SEC, 1 * NSEC_PER_SEC) // every 60 seconds, with leeway of 1 second
        dispatch_source_set_event_handler(timer) {
            if (self.timer == nil) {return}
            self.getLineState(self.lineName)

        }
        dispatch_resume(timer)
    }

    func stopRefreshTimer() {
        if (timer != nil)
        {
            dispatch_source_cancel(timer)
            timer = nil
        }
    }