1

在我的应用程序的主视图上,有一个刷新按钮。我希望 NSTimer 在单击时启动,如果 15 秒过去后应用程序无法连接到服务器,我希望它停止尝试刷新并发出警报说它无法连接。谢谢!

4

2 回答 2

2

您不需要为此设置计时器。使用 NSURLConnection 连接到服务器,并使用 requestWithURL:cachePolicy:timeoutInterval: 发出的请求对其进行初始化。如果花费的时间超过 timeInterval,它将调用 connection:didFailWithError:。您可以查询它以查看失败的原因是否是连接超时,并显示您的警报。

于 2013-05-18T00:40:33.153 回答
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 秒后它仍在运行,则在调用该方法时将停止。

或者,您可以查看此问题以获取有关NSTimer.

于 2013-05-17T23:59:33.860 回答