我想连接到互联网。如果在5秒后我没有连接(使用可达性)我想中止。这可能吗?
答案 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
}