[英]Is NSURLConnection sendAsynchronousRequest completion block executed on the main thread?
[英]NSURLConnection and sendAsynchronousRequest:queue:completionHandler: - does the completion block run in the main thread
如果我將NSURLConnection
與sendAsynchronousRequest:queue:completionHandler:
,我是否需要在完成處理程序中采取任何特殊的預防措施? 具體來說,是通過NSURLConnection
直接異步發送與使用dispatch_async
相同/相似,因為完成塊需要返回主線程與UI交互?
例如:在使用dispatch_async
與UI交互(可能是錯誤的單詞)后,應用程序必須使用performSelectorOnMainThread
。
這是sendAsynchronousRequest:queue:completionHandler:
一個考慮sendAsynchronousRequest:queue:completionHandler:
?
注意:我發現了類似的問題,但沒有具體說明。 例如,在NSURLConnection中阻止主線程嗎? indiekiduk特別指出它是一個新的線程,雖然是一個內部的 - 我認為這是有缺陷的,因為我認為它只是在運行循環結束 - 但我仍然在學習,可能/可能是錯誤的。
NSURLConnection
的文檔說明sendAsynchronousRequest:queue:completionHandler:
的queue參數sendAsynchronousRequest:queue:completionHandler:
隊列
請求完成或>失敗時調度處理程序塊的操作隊列。
該塊將在傳入的隊列中設置的任何線程上執行。
NSURLConnection sendAsync是在AFAIK上的線程的RunLoop上調度的,所以在啟動它的線程中調用該塊
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.