天天看點

IOS網絡方面(異步請求)

上篇文章介紹既然在主線程放同步請求會阻塞線程,開辟新的線程會比較麻煩。那麼這裡有簡單的異步請求。它比開辟線程邏輯上比較複雜。複雜的是多了幾個代理方法來處理發送請求後的資料等。

主要有以下幾個步驟

為了能夠建立一個異步的請求連接配接,我們需要做如下操作。

1.建立一個 NSSring NSSring 類型的 類型的 URL URL連接配接字元串。

2.把 NSString NSString 類型轉化成網絡可識别的NSURL。 類型轉化成網絡可識别的NSURL。

3.把我們的URL對象指派到 NSURLRequest NSURLRequestNSURLRequestNSURLRequestNSURLRequest NSURLRequestNSURLRequest對象中,如果是多個連接配接請求使用 對象中,如果是多個連接配接請求使用 NSMutableURLRequest. NSMutableURLRequest. NSMutableURLRequest. NSMutableURLRequest.NSMutableURLRequest.NSMutableURLRequest.NSMutableURLRequest. NSMutableURLRequest.NSMutableURLRequest.

4.建立一個 NSURLConnection NSURLConnectionNSURLConnectionNSURLConnection NSURLConnectionNSURLConnection NSURLConnection 的 連接配接執行個體,然後把我們定義好URL 對象指派過去。

我們可以建立一個異步的URL連接配接對象通過sendAsynchronousRequest:queue:completionHandler這個方法。這個方法的參數如下.

sendAsynchronousRequest

一個NSURLRequest類型的請求,這個我們已經講過。

Queue

一個操作隊列,我們可以很輕松的配置設定和初始化一個操作隊列,然後可以根據我們需求添加到這個方法的參數中。

completionHandler

一個臨時堵塞的監聽捕獲器,當我們異步的連接配接操作完成之後,無論我們的異步操作是否成功,這個對象都能夠接收到如下三個參數。

1.一個NSURLResopne,這個對象是伺服器傳回給我們的資料包裝對象。

2.NSData,可選的,這個是我們通過URL請求傳回的資料。

3.NSError類型的對象,如果請求中有錯誤發生。

逾時的時候可以用以下方法:

當初始化NSURLRequest這個對象,并且把這個對象綁定到你的URL連接配接對象的時候,你可以使用requestWithURL:cachePolicy:timeoutInterval:這個方法來根據你的設計,設定你的通路請求的逾時值。

繼續閱讀