响应后执行方法

时间:2016-12-05 06:40:50

标签: ios objective-c timer grand-central-dispatch

我陷入了一个有趣的问题,因为我想在3秒后执行一个方法,但也想检查我是否得到了该方法的响应。

如果我在3秒钟内没有收到回复,那么该方法将不会被执行。

使用代码:

Timer = [NSTimer scheduledTimerWithTimeInterval: 1.0 target: self selector:@selector(receiveMessageWebservice)userInfo: nil repeats:YES];

这将在3秒的时间间隔内运行receiveMessageWebservice。但问题是有时响应不是在3秒钟内需要更多时间然后我同时得到两三个响应。

我不想这样。

请帮忙。

1 个答案:

答案 0 :(得分:0)

当然,网络通话无法保证时间。正如我所假设的那样,你想重试一次回复,直到它没有找到你为止。

因为我觉得你不应该在这里使用计时器,而是依靠web服务完成和故障块来重新启动web服务的重新提取。如果响应出现故障阻塞,则仅重试。