如何使用NSTimer来停止一个动作



在我的应用程序的主视图上,有一个刷新按钮。我想为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的详细解释。

最新更新