我对解决这个问题的最佳方法有一些疑问。
在我的应用程序中,我必须从大约 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/