备忘——定时器

来源:互联网 发布:股票数据猫网 编辑:程序博客网 时间:2024/06/06 03:31
    //关闭定时器    fileprivate func invalidateTimer(){        guard timer != nil else {            return        }        timer.invalidate()        timer = nil    }    //开启定时器    fileprivate func setupTimer(){        if self.timer == nil {            /* 调用了scheduledTimer返回的定时器,已经自动被添加到当前runLoop中,而且是NSDefaultRunLoopMode, 定时器只运行在NSDefaultRunLoopMode下,一旦RunLoop进入其他模式,这个定时器就不会工作*/            let timer = Timer.scheduledTimer(timeInterval: option.scrollTimeInterval, target: self, selector: #selector(autoScroll), userInfo: nil, repeats: true)            /* 定时器会跑在标记为common modes的模式下             标记为common modes的模式:UITrackingRunLoopMode和NSDefaultRunLoopMode都会跑*/            //修改为commonModes模式            RunLoop.main.add(timer, forMode: .commonModes)            self.timer = timer        }    }

0 0
原创粉丝点击