连接互联网 - 我如何尝试连接5秒然后放弃?

时间:2015-05-08 17:26:10

标签: ios objective-c reachability connectivity

我想连接到互联网。如果在5秒后我没有连接(使用可达性)我想中止。这可能吗?

1 个答案:

答案 0 :(得分:1)

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
}