我注意到如果我创建一个 NSURLConnection 并触发请求,一切都很好。在调用连接的代码块完成后,我的委托方法被调用,最后一个委托方法被调用。伟大的。
这让我相信连接是异步的,这意味着它们是多线程的。那是对的吗?它们可以是异步的但在同一个线程中吗?不,这太疯狂了——对吧?
但是,在我看到的每个使用 NSOperation 的示例中,NSURLConnections 总是在 scheduleInRunLoop 之后在 while 循环中调用 [runLoop runMode ...] 。
有人可以准确解释这里发生了什么吗?在我看来,第一种情况需要生成辅助线程,但不需要手动调用运行循环(在那些线程上),而 NSOperation(在新线程中)确实需要手动调用运行循环。
为什么第一种情况不需要手动调用?