Objective c 如何使用NSTimer停止操作?

Objective c 如何使用NSTimer停止操作?,objective-c,nstimer,Objective C,Nstimer,在我的应用程序的主视图上,有一个刷新按钮。我希望NSTimer在单击时启动,如果15秒后应用程序无法连接到服务器,我希望它停止尝试刷新,并发出警报说它无法连接。谢谢 执行取消连接方法停止连接: - (void)cancelConnection { ... // If the connection is still open, stop it and alert the user } 然后简单地打电话 [self performSelector:@selector(cancelConne

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

执行
取消连接
方法停止连接:

- (void)cancelConnection {
    ... // If the connection is still open, stop it and alert the user
}
然后简单地打电话

[self performSelector:@selector(cancelConnection) withObject:nil afterDelay:15.0]
打开连接时,如果15秒后连接仍在运行,则调用该方法时,连接将停止


或者,.

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

您只需调用
[self-performSelector:@selector(cancelConnection)with Object:nil afterDelay:15.0]
,并实现函数
cancelConnection
,在连接运行时停止连接。或者,您可以在此处查看有关如何使用
NSTimer
的详细说明:我将其作为答案发布,以便您可以将其标记为已接受,这样这个问题就不会再出现在未回答部分。