iOS/Objective-C 多 URL 连接
Posted
技术标签:
【中文标题】iOS/Objective-C 多 URL 连接【英文标题】:iOS/Objective-C Multiple URL Connections 【发布时间】:2010-10-11 20:23:03 【问题描述】:我有一些应用程序正在尝试开发可重用的 URL 连接层。我做了一些研究,在架构之间挣扎。特别是该层使用的 API。
过去,我在单独的 RunLoop 上使用过 NSURLConnection
和 NSOperation
。这似乎有点矫枉过正。我见过子类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 无法将具有标识符的单元格出列