iphone - iPhone 上的同步 NSURLConnection 线程

标签 iphone multithreading http nsurlconnection synchronous

我开始使用异步,但获取返回的数据变得很麻烦。然后我开始使用类方法,我相信这排除了使用委托(delegate)方法的可能性。所以我继续使用同步,知道这会是一个问题,但我认为我在解决方案上不会遇到这么大的困难。在保持 UI 交互能力的同时检索数据的最佳方式是什么?

最佳答案

同步 NSURLConnections 在 NSOperation 内部工作得很好 - 因为你同步使用它们,一个 NSOperationQueue 交给 NSOperations 会自动使用后台线程来运行它们(否则你必须做额外的工作)。

让 URL 连接在后台线程中运行是保持 UI 响应的关键,这是默认情况下异步 NSURLOperation 不会执行的操作(查看数据回调全部进入的线程)。

有时你想处理传入的数据(比如你有一个进度条),在这些情况下异步 URL 连接更好,它们仍然可以在 NSOperation 中。

因为这让你很沮丧,你可能想看看替代的 ASIHTTPRequest 库,它也是基于 NSOperation 的,但看起来它可能会让你不那么痛苦(他们有很好的示例代码):

http://allseeing-i.com/ASIHTTPRequest/

关于iphone - iPhone 上的同步 NSURLConnection 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1955620/

相关文章:

iphone - 从另一个应用程序打开一个应用程序而不关闭该应用程序

ios - UITableView 动态动画(beginUpdates/endUpdates)有时会因不一致而崩溃

c# - 将对象的引用传递给新线程

c - 多个独立的线程处理程序

http - 流式 XML Mime 类型?

iphone - UIKit 和单元测试

ios - 如何检测拖到那里的 subview 中的触摸(或获取哪个 subview 在其父 View 中点击下方的最快方法)

asp.net-mvc - 返回在 HttpStatusCode 枚举中找不到的状态代码

java - 如何使用 Java HTTP 搜索数据?

iphone - 停止网络事件指示器