连接 Internet - 我怎样才能尝试连接 5 秒然后放弃?

Connectivity Internet - how can I try to connect for 5 secs and then give up?

我想连接到 Internet。如果 5 秒后我还没有连接(使用可达性),我想中止。这可能吗?

NSTimer,带有 1 秒的回调和一个计数器。如果 5 次尝试失败,则已过去 5 秒。

类似于:

var timerCounter = 0
var timer : NSTimer?

func shouldAttemptConnection() {
  timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "attemptConnection", userInfo: nil, repeats: true)
  self.attemptConnection()
}

func attemptConnection() {
  if Reachability.isReachable() {
     // Handle success code

  } else if ++timerCounter >= 5 {
     // Handle timeout code

  } else {
     // Try again
     return
  }

  self.invalidateTimer()
}

func invalidateTimer() {
  timer?.invalidate()
  timer = nil
  timerCounter = 0
}