在我的应用程序的主视图上,有一个刷新按钮。我想为NSTimer开始点击,如果15秒通过,应用程序无法连接到服务器,我想让它停止尝试刷新,并给出一个警报说它无法连接。谢谢!
您不需要计时器。使用NSURLConnection连接到服务器,并通过requestWithURL:cachePolicy:timeoutInterval:来初始化它。如果它花费的时间比timeInterval长,它将调用connection:didFailWithError:。您可以对此进行查询,以查看失败的原因是否是连接超时,并显示您的警报。
实现一个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秒后仍在运行,它将在调用该方法时停止。
或者,您可以查看这个问题以获得NSTimer
的详细解释。