ios - NSOperation 中的 AFNetworking 操作

标签 ios xml afnetworking nsoperation nsoperationqueue

我对解决这个问题的最佳方法有一些疑问。

在我的应用程序中,我必须从大约 20 个不同的 url 解析 xml。我想将逻辑放在 NSOperationQueue 中,这样我就可以将同步任务拆分为可以添加到队列中的较小任务。由于此任务必须连接到一个 url,而我正在使用 AFNetworking,我应该怎么做?

|
|
|------- => Start my OwnXMLOperation
|       |
|       |
|       | -------  => Start the AFNetworking operation inside my OwnXMLOperation
|       |        |
|       x        |
|                | => Download finish, starting the parser inside the success block
|                |
|------- => Anot | her OwnXMLOperation starts without the previous one is finished. 
|       |        |
|       |        |
|       |--------|--------
|       |        |        |
|       x        x => The | parser of the first operation finished.
|                         |
|                         |------- => Start the AFNetworking operation inside my OwnXMLOperation

如何避免这种丑陋的 NSOperation 映射?我在考虑覆盖 AFNetworking 操作,我什至不知道它是否可行。

提前致谢

最佳答案

不要同时使用您自己的 XML 操作,AFNetworking 操作和队列可以提供您需要的所有队列管理。

为了保持整洁,将您的 XML 解析放入许多方法中(如果您愿意,可以在 Controller 类或一个/几个帮助器类中)。然后您可以从 AFNetworking 成功 block 中适本地调用这些方法。

如果您要添加 20 个操作,请务必设置队列的最大并发计数,以免网络中充满请求。

关于ios - NSOperation 中的 AFNetworking 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19894135/

相关文章:

c# - 如果没有找到元素,如何解析 xml 文件并返回默认值

java - Android Studio 3.2 更新后,我的所有 FAB 图标都很小并且位于右上角

heroku - 未使用 AFNetworking 发送授权 header

ios - AFNetworking API 调用

ios - Xcode SpriteKit 枚举 ChildNode WithName 与托管数组

iphone - NSmutablearray 上的 uitextfield 输入

javascript - stock.quant TreeView 上的 Odoo 12 创建按钮

objective-c - 由于UIWebView,Apple拒绝了 objective-c AFNetworking

ios - 带有自定义 MKAnnotation 的 MKMapView

iphone - 我的应用程序会响应 url 方案吗?