2011-08-05 70 views
1

我是iPhone新手,我想問一個關於異步事件的問題。iPhone開發 - 主線程

假設我有一個NSURLConnection和相應的委託方法,即。 didReceiveResponse,didFailWithError等。當事件被觸發時,這些方法被異步地調用。所有的方法都是在主線程上執行的嗎?或者iOS創建單獨的線程來執行相應的方法代碼?

我面臨一些隨機崩潰到我的應用程序,我想這是一個同步問題。

回答

2

NSURLConnection的委託方法在主線程中執行。這是異步的全部原因,不需要單獨的線程。

關於內部,I/O是一個內在的異步世界,所以我也不認爲內部NSURLConnection使用線程。我想這是以異步方式管理通信的操作系統,但我不確定。

無論如何,您可以確定您的委託方法是從主線程內執行的。