【讀書筆記】iOS網路-非同步請求與運行迴圈,讀書筆記ios

來源:互聯網
上載者:User

【讀書筆記】iOS網路-非同步請求與運行迴圈,讀書筆記ios

非同步請求需要運行迴圈。當資料傳遞到伺服器或是被用戶端接收時,運行迴圈用於實現事件與委派物件之間的通訊。非同步請求在發出時,會在當前線程的運行迴圈上操作,這個實現細節是很重要的,因為在GCD塊中或者是通過NSOperationQueue建立的線程並沒有運行迴圈。因此,如果在後台線程上發出了非同步請求,那麼還需要確定線程是有運行迴圈還是使用了別的運行迴圈。如下代碼片斷展示了如何顯示地將請求處理指定給運行迴圈。

 

    NSURLConnection connection=[[NSURLConnection alloc]initWithRequest:request delegate:self startImmediately:NO];    [connection scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];    [connection start];

 

第一個操作建立了NSURLConnection對象,不過並沒有立刻啟動方法,這樣就可以進一步初始化了。下一步代碼擷取到主線程的運行迴圈,然後將它提供給串連,作為其運行迴圈。最後,串連通過start方法開始處理。如果不想在主運行迴圈中執行非同步請求,那麼需要在另一個線程上建立運行迴圈,然後,針對這個新建立的運行迴圈調度串連。

 

參考資料:《iOS網路進階編程-iPhone和iPad的公司專屬應用程式開發》

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.