我是iPhone开发新手,我想问一个有关异步事件的问题。
假设我有NSURLConnection
和correspoding委托方法,即。 didReceiveResponse
,didFailWithError
等。触发事件时异步调用这些方法。是否所有方法都在主线程上执行?或者iOS是否创建了执行相应方法代码的单独线程?
我面临一些随机崩溃到我的应用程序,我想这是一个同步问题。
答案 0 :(得分:2)
NSURLConnection的委托方法在主线程中执行。这就是异步背后的全部原因,不需要单独的线程。
关于内部,I / O是一个固有的异步世界,所以我也不认为内部NSURLConnection使用线程。我想是以异步方式管理通信的操作系统,但我不确定。
无论如何,您可以确保您的委托方法是在主线程中执行的。