我试图将我的iOS应用程序连接到从我的Web服务获取数据,每次有所改变。我目前的实现是使用NSTimer并执行ASIHttpRequest,但我不喜欢该轮询实现。有没有更好的方法来做到这一点?使用asihttprequest获取基于http状态代码的数据
我正在考虑启动请求,并让它继续尝试,直到Web服务状态代码变为OK(状态200)或可能是“已修改”的状态代码。我如何在视图控制器中执行此操作?
这是我到目前为止有:
self.asiRequest = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:self.barcodeUrl]];
[self.asiRequest setDelegate:self];
[self.asiRequest startAsynchronous];
[self.asiRequest addRequestHeader:@"Accept" value:@"application/json"];
[self.asiRequest addRequestHeader:@"Content-Type" value:@"application/json"];
int statusCode = [self.asiRequest responseStatusCode];
我知道,如果请求成功,委托方法- (void)requestFinished:(ASIHTTPRequest *)request
我想我的问题是,我该如何保持开放的ASIHttpRequest这样当Web服务返回“修改”时,它会调用GET请求,然后再次保持打开的连接?这必须是异步的,并且不会在UI线程上运行,因为我不想让应用程序挂起。
非常感谢!