[英]NSURLConnection and handling response code and response data
我現在有一個奇怪的情況,那就是來自NSURLConnection委托方法的響應代碼:
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response;
在后續委托方法之前觸發:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
我的代碼肯定可以使用改進,因為它現在從上面檢查HTTP響應代碼,然后調用某種方法來采取措施。 不幸的是,當時還沒有可用的數據。
有什么精美的解決方案可以使response
和responseData
耦合,以至於我的類方法直到response
和 responseData
為200 +不為nil
時才被觸發。 我是否需要將它們都設置為類實例變量? 似乎是一個窮人的解決方案。
數據之前的響應是正確的順序。 實際上,您應該使用此方法清除所有數據(以防您通過重定向收到多個響應並且所有中間數據都已過時)。
您收到一條connection:didReceiveResponse:消息,告訴您已收到回復標頭,但這發生在任何正文內容之前 。
如果您需要訪問答復的所有元素,則應簡單地存儲響應和傳入的數據,僅在connectionDidFinishLoading:中處理它們(或者,如果數據很長,則可以在connection:didReceiveData:中進行增量處理)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.