IOS程式之HTTP同步請求與非同步請求問題解決

來源:互聯網
上載者:User

IOS程式HTTP同步請求與非同步請求問題解決是本文要介紹的內容,內容不多,主要是通過代碼實現同步和非同步請求,我們來看詳細內容。

非同步請求,

 
  1.  NSMutableData* buf = [[NSMutableData alloc] initWithLength:0];  
  2.  NSURLConnection* connection = [[NSURLConnection alloc] initWithRequest:req delegate:self];   
  3.  // 收到響應時, 會觸發  
  4.  - (void)connection:(NSURLConnection *)aConnection didReceiveResponse:(NSURLResponse *)aResponse;  
  5.  // 你可以在裡面判斷返回結果, 或者處理返回的http頭中的資訊   
  6.  // 每收到一次資料, 會調用一次  
  7.  - (void)connection:(NSURLConnection *)aConn didReceiveData:(NSData *)data;  
  8.  // 因此一般來說,是  
  9.  - (void)connection:(NSURLConnection *)aConn didReceiveData:(NSData *)data  
  10.  {     
  11.   [buf appendData:data];  
  12. }  
  13. // 當然buffer就是前面initWithRequest時同時聲明的.   
  14. // 網路錯誤時觸發  
  15. - (void)connection:(NSURLConnection *)aConn didFailWithError:(NSError *)error;  
  16.  // 全部資料接收完畢時觸發  
  17.  - (void)connectionDidFinishLoading:(NSURLConnection *)aConn;   

同步請求

 
  1. // 初始化請求 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];  
  2.  // 設置URL  
  3. [request setURL:[NSURL URLWithString:urlStr]];  
  4. // 設置HTTP方法          
  5. [request setHTTPMethod:@"GET"];  
  6. // 發送同步請求, 這裡得returnData就是返回得數據楽          
  7. NSData *returnData = [NSURLConnection sendSynchronousRequest:request    returningResponse:nil error:nil];   
  8. // 釋放對象          
  9. [request release];  

小結:IOS程式HTTP同步請求與非同步請求問題解決的內容介紹完了,希望本文對你有所協助!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.