在我的应用程序的主视图中,有一个刷新按钮。我希望NSTimer能够在点击时启动,如果15秒后该应用程序无法连接到服务器,我希望它能够停止尝试刷新并发出警告说它无法连接。谢谢!
答案 0 :(得分:2)
您不需要计时器。使用NSURLConnection连接到服务器,并使用requestWithURL发出的请求初始化它:cachePolicy:timeoutInterval:。如果它需要比timeInterval更长的时间,它将调用connection:didFailWithError:。您可以查询该信息以查看失败的原因是否连接超时,并显示您的警报。
答案 1 :(得分:1)
实施cancelConnection
方法以停止连接:
- (void)cancelConnection {
... // If the connection is still open, stop it and alert the user
}
然后只需致电
[self performSelector:@selector(cancelConnection) withObject:nil afterDelay:15.0]
当你打开连接时,如果它在15秒后仍在运行,它将在调用方法时停止。
或者,you can look at this question for a detailed explanation of NSTimer
。