Timer 在异步子线程 要放到 Runloop里才能使用

16 篇文章 0 订阅
 let thread1 = Thread(target: self, selector: #selector(ViewController.display), object: nil)
        thread1.name = "thread1"
        thread1.start()

display 方法中 timer这么写

    func display(){
        let timer:Timer = Timer(timeInterval: 2.0,
                                target: self,
                                selector: #selector(ViewController.log),
                                userInfo: nil,
                                repeats: true)

        // 将定时器添加到运行循环
        RunLoop.current.add(timer, forMode: RunLoopMode.defaultRunLoopMode)
        RunLoop.current.run()
}

          func display(){
        Timer.scheduledTimer(withTimeInterval: 2.0, repeats: true) { (timer) in
            self.log()
        }
        RunLoop.current.run()
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值