成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone網絡開發中如何使用NSURLConnection教程

移動開發 iOS
本文主要介紹了iPhone網絡中的內容,具體講述了如何使用NSURLConnection的內容,文中也很詳細的介紹了一番,先來看本文內容。

iPhone網絡開發中如何使用NSURLConnection是本文要介紹的內容,這篇文章是翻譯的蘋果官方文檔,想要看英文原版的可以到蘋果網站查看,來看詳細內容。

NSURLConnection 提供了很多靈活的方法下載URL內容也提供了一個簡單的接口去創建和放棄連接,同時使用很多的delegate方法去支持連接過程的反饋和控制

如何創建一個連接呢?

為了下載url的內容,程序需要提供一個delegate對象,并且至少實現下面的方法

  1. connection:didReceiveResponse:,conncetion:didReceiveData,  
  2. conncetion:didFailWithError:和connectionDidFinishLoading: 

舉例一

1、先創建一個NSURL

2、在通過NSURL創建NSURLRequest,可以指定緩存規則和超時時間

3、創建NSURLConnection實例,指定NSURLRequest和一個delegate對象

如果創建失敗,則會返回nil,如果創建成功則創建一個NSMutalbeData的實例用來存儲數據

代碼:

  1. NSURLRequest *theRequest=[NSURLRequest requestWithURL:  
  2.                   [NSURL URLWithString:@“http://www.sina.com.cn/”]  
  3.                  cachePolicy:NSURLRequestUseProtocolCachePolicy  
  4.                  timeoutInterval:60.0];  
  5. NSURLConnection *theConncetion=[[NSURLConnection alloc]       
  6.                    initWithRequest:theRequest delegate:self];  
  7. if(theConnection)  
  8. {  
  9. //創建NSMutableData  
  10.   receivedData=[[NSMutableData data] retain];  
  11. }else 創建失敗 

NSURLConnection還有幾個初始化函數,有個初始化函數可以做到創建連接但是并不馬上開始下載,而是通過start:開始

當收到initWithRequest: delegate: 消息時,下載會立即開始,在代理(delegate)收到connectionDidFinishLoading:或者connection:didFailWithError:消息之前可以通過給連接發送一個cancel:消息來中斷下載。

當服務器提供了足夠客戶程序創建NSURLResponse對象的信息時,代理對象會收到一個connection:didReceiveResponse:消息,在消息內可以檢查NSURLResponse對象和確定數據的預期長途,mime類型,文件名以及其他服務器提供的元信息

要注意,一個簡單的連接也可能會收到多個connection:didReceiveResponse:消息當服務器連接重置或者一些罕見的原因(比如多組mime文檔),代理都會收到該消息這時候應該重置進度指示,丟棄之前接收的數據

  1. -(void)connection:(NSURLConnection *)connectiondidReceiveResponse:  
  2.                         (NSURLResponse*)response  
  3. {  
  4.    [receiveData setLength:0];  
  5. } 

當下載開始的時候,每當有數據接收,代理會定期收到connection:didReceiveData:消息代理應當在實現中儲存新接收的數據,下面的例子既是如此

  1. -(void) connection:(NSURLConnection*)connection didReceiveData:  
  2.             (NSData *) data  
  3. {  
  4.    [receiveData appendData:data];  
  5.  
  6. } 

在上面的方法實現中,可以加入一個進度指示器,提示用戶下載進度

當下載的過程中有錯誤發生的時候,代理會收到一個connection:didFailWithError消息,消息參數里面的NSError對象提供了具體的錯誤細節,它也能提供在用戶信息字典里面失敗的url請求(使用NSErrorFailingURLStringKey)

當代理接收到連接的connection:didFailWithError消息后,對于該連接不會在收到任何消息

舉例

  1. -(void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error  
  2. {  
  3. [connection release];  
  4.  
  5.   [receivedData release];  
  6.    NSLog(@"Connection failed! Error - %@ %@",  
  7.           [error localizedDescription],  
  8.           [[error userInfo] objectForKey:NSErrorFailingURLStringErrorKey]);  
  9. } 

***,如果連接請求成功的下載,代理會接收connectionDidFinishLoading:消息代理不會收到其他的消息了,在消息的實現中,應該釋放掉連接

舉例:

  1. (void)connectionDidFinishLoading:(NSURLConnection*)connection  
  2. {  
  3.    //do something with the data  
  4.   NSLog(@“succeeded  %d byte received”,[receivedData length]);  
  5.  
  6. [connection release];  
  7. [receivedData release];  
  8.  
  9. } 

好的,初步的流程就是這些。

小結:iPhone網絡開發中如何使用NSURLConnection教程的內容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-08-10 15:48:10

iPhone網絡

2011-08-05 16:31:47

iPhone 數據庫

2011-08-18 15:56:08

iPhone開發內存

2011-08-17 15:10:21

iPhone開發Web視圖

2011-08-15 13:44:07

iPhone開發UITableView

2011-08-22 10:31:40

iPhone開發BSD Socket

2011-08-02 17:37:01

IPhone開發 環境搭建

2011-07-08 14:58:16

iPhone Xcode iOS

2011-08-10 18:24:22

iPhone 圖形 繪圖

2011-07-08 16:02:24

iphone

2011-08-09 09:57:59

iPhone服務器Socket

2011-07-27 13:57:36

iPhone 游戲 Cocos2d

2011-08-08 13:50:29

iPhone開發 NSOperatio 多線程

2011-08-09 13:10:32

iPhone地圖開發

2011-07-21 10:29:18

iPhone 開發

2011-07-18 09:35:29

iPhone 框架

2011-08-12 18:18:03

iPhone開發UIPageContr按鈕

2011-07-21 14:07:29

iPhone 網絡 流量

2011-08-08 14:07:49

iPhone開發 字體

2011-07-27 16:46:04

iPhone iPhone破解 MacPort
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品一区二区三区四区五区 | 一本色道久久综合亚洲精品高清 | 欧美黄色片| 伊人网站视频 | 国产成人精品久久二区二区91 | 国产小视频在线 | 欧美不卡视频一区发布 | 亚洲综合色视频在线观看 | 国产成人小视频 | 一区二区中文字幕 | www.9191| 亚洲www啪成人一区二区麻豆 | 一区二区视频在线 | 狠狠撸在线视频 | 日日夜夜精品免费视频 | 黄色视频a级毛片 | 午夜免费av| 亚洲在线免费观看 | 色婷婷综合久久久久中文一区二区 | 免费看一区二区三区 | 精品三级 | 亚洲一级毛片 | 一区二区三区视频在线观看 | 青草青草久热精品视频在线观看 | 精品国产乱码一区二区三 | 国产欧美综合在线 | 91精品国产91久久久久久最新 | 久久久www| 国产一区二区三区精品久久久 | 欧美一区二区三区在线观看 | 成人免费一区二区 | 国产一区二区三区久久久久久久久 | 国产精品美女久久久久久免费 | 污视频免费在线观看 | 国产一二三区在线 | 中文字幕一区二区三区四区不卡 | 免费av毛片 | 精品久久香蕉国产线看观看亚洲 | 国产精品美女久久久久久免费 | 国产精品观看 | 国产精品九九九 |