Wednesday, July 1, 2015

Detect idle time and do something when timer fires (Swift)

func resetIdleTimer()
    {

        if (idleTimer == nil)
        {
           idleTimer = NSTimer.scheduledTimerWithTimeInterval(kMaxIdleTimeSeconds, target: self, selector: "idleTimerExceeded:", userInfo: nil, repeats: false)
        }
        else
        {
           if (fabs(idleTimer.fireDate.timeIntervalSinceNow) < kMaxIdleTimeSeconds-1.0)
           {
               idleTimer.fireDate = NSDate(timeIntervalSinceNow: kMaxIdleTimeSeconds)
            
           }
        }
    }
    
    func idleTimerExceeded(sender: AnyObject)
    {
        idleTimer = nil

//do something when timer fires
    }

No comments:

Post a Comment