iOS/Objective-C 多 URL 连接

Posted

技术标签:

【中文标题】iOS/Objective-C 多 URL 连接【英文标题】:iOS/Objective-C Multiple URL Connections 【发布时间】:2010-10-11 20:23:03 【问题描述】:

我有一些应用程序正在尝试开发可重用的 URL 连接层。我做了一些研究,在架构之间挣扎。特别是该层使用的 API。

过去,我在单独的 RunLoop 上使用过 NSURLConnectionNSOperation。这似乎有点矫枉过正。我见过子类NSURLConnection 的库。其他人有一个管理所有请求的单例 Engine 对象。

Engine 和/或NSURLConnection 对我来说似乎是最好的。但在我走得太远之前,我要求提供意见。我的目标是:

能够取消请求 并发请求 非阻塞 当前打开请求的数据对象

非常感谢任何方向或现有的代码示例参考。

【问题讨论】:

【参考方案1】:

我不确定“当前打开请求的数据对象”,但ASIHTTPRequest 做了前三个并且非常易于使用。


更新

实际上,ASINetworkQueue 似乎可以满足您的最后一个要点。

【讨论】:

+1 供参考。我将来会在更大的项目中使用它。但是,我认为构建我自己的NSURLConnection 子类和 ConnectionEngine 类的学习机会对于这个小应用程序将很有价值。【参考方案2】:

我个人在我的大型应用程序中使用单例引擎,尽管它可能并不总是最好的情况。我使用的所有 URL 都需要先登录,我认为最好由一个类处理所有请求以防止多个 URL 登录到一个位置。

我基本上为我的单例中的所有不同连接类创建了一个协议,并将调用类和单例的委托传递给它。如果发生错误,则将其传递给单例以便处理它,如果完成,则将数据返回给调用类。

【讨论】:

这似乎与我见过的一些 Twitter 库(例如 MGTwitterEngine)的方法相同。这就是我目前设置架构的方式。所以你让 Engine 句柄管理 NSURLConnection 和调用类一个 Engine 的委托? 嗯,可能在翻译中丢失了,但我将调用类作为委托传递给引擎,然后引擎将自身和调用类委托传递给处理 NSURLConnection 的类。处理 NSURLConnection 的类然后根据发生的情况响应调用类或引擎。正如我所说的,这可能有点复杂,但我有点需要这样做,因为登录过程是一个考验,可能会出现一些错误。 是的,我们在同一个页面上。我实际上也有一个身份验证准备步骤。所以我想现在,我将按照你的建议创建自己的。

以上是关于iOS/Objective-C 多 URL 连接的主要内容,如果未能解决你的问题,请参考以下文章

IOS / Objective-C:检查互联网连接的最快方法 - 2017 [重复]

IOS/Objective-C/CoreData:以一对多关系编辑NSSet

如何在 iOS(Objective-C)中分享到 Facebook Messenger 应用程序的链接?

iOS - Objective-C 无法将具有标识符的单元格出列

IOS/Objective-C:用于识别命名实体的 NSLinguisticTagger

IOS / Objective-C:测试图像是不是存在[重复]