Timer.scheduledTimer Swift 3 pre-iOS 10 compatibility

后端 未结 8 2024
我寻月下人不归
我寻月下人不归 2020-12-15 16:31

I need to schedule a Timer for firing a function every second but I see that in Xcode 8 beta 3 the scheduledTimer is only available for iOS 10.

Is there any alternat

8条回答
  •  有刺的猬
    2020-12-15 16:52

    Swift 3

    func runCode(in timeInterval:TimeInterval, _ code:@escaping ()->(Void))
    {
        DispatchQueue.main.asyncAfter(
            deadline: .now() + timeInterval,
            execute: code)
    }
    
    func runCode(at date:Date, _ code:@escaping ()->(Void))
    {
        let timeInterval = date.timeIntervalSinceNow
        runCode(in: timeInterval, code)
    }
    
    func test()
    {
        runCode(at: Date(timeIntervalSinceNow:2))
        {
            print("Hello")
        }
    
        runCode(in: 3.0)
        {
            print("World)")
        }
    }
    

提交回复
热议问题