Search code examples
iosswiftsetintervalintervalsrepeat

Do something every x minutes in Swift


How can I run a function every minute? In JavaScript I can do something like setInterval, does something similar exist in Swift?

Wanted output:

Hello World once a minute...


Solution

  • var helloWorldTimer = NSTimer.scheduledTimerWithTimeInterval(60.0, target: self, selector: Selector("sayHello"), userInfo: nil, repeats: true)
    
    func sayHello() 
    {
        NSLog("hello World")
    }
    

    Remember to import Foundation.

    Swift 4:

     var helloWorldTimer = Timer.scheduledTimer(timeInterval: 60.0, target: self, selector: #selector(ViewController.sayHello), userInfo: nil, repeats: true)
    
     @objc func sayHello() 
     {
         NSLog("hello World")
     }