我試圖將我的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線程上運行,因爲我不想讓應用程序掛起。
非常感謝!