我陷入了一个有趣的问题,因为我想在3秒后执行一个方法,但也想检查我是否得到了该方法的响应。
如果我在3秒钟内没有收到回复,那么该方法将不会被执行。
使用代码:
Timer = [NSTimer scheduledTimerWithTimeInterval: 1.0 target: self selector:@selector(receiveMessageWebservice)userInfo: nil repeats:YES];
这将在3秒的时间间隔内运行receiveMessageWebservice
。但问题是有时响应不是在3秒钟内需要更多时间然后我同时得到两三个响应。
我不想这样。
请帮忙。
答案 0 :(得分:0)
当然,网络通话无法保证时间。正如我所假设的那样,你想重试一次回复,直到它没有找到你为止。
因为我觉得你不应该在这里使用计时器,而是依靠web服务完成和故障块来重新启动web服务的重新提取。如果响应出现故障阻塞,则仅重试。