2011-12-20 54 views
0

我正在开发一个项目,需要按顺序下载数据并追加所有数据。为了解决这个问题,我决定使用队列(NSOperationsQueue或ASINetworkQueue)。不幸的是,顺序被颠倒了,因为ASINetworkQueue和NSOperationQueue是堆栈。我试过翻转数组,但附加的音频流的顺序是2(请求),1请求和3请求。iPhone - 使用ASIHTTPRequest对NSOperationsQueue或ASINetworkQueue进行翻转和排序

在此先感谢!

+1

NSOperationQueue不是一个堆栈,它是一个队列。你确定这个问题不在别的地方吗?比如网络操作是异步的,除非你强制它们不会以任何明确定义的顺序回来? – 2011-12-20 21:07:12

回答

1

我觉得你不能并行您的操作,所以我提出以下解决方案:

  • 使用setMaxConcurrentOperationCount:法参数1
  • (NSOperationQueue将加入他们的顺序执行)使用ASIHTTPRequest框架的同步请求
+0

嗨, 由于UI需要免费,所以同步方法不适用于我。另外,我已经将maxconcurrentoperationcount设置为1. 但是,现在似乎附加的数据与其他数据重叠。 – 2012-01-19 04:00:28

+0

您可以将主线程留给用户界面,并有后台线程做同步工作。如果您可以发布有关您的代码的更多细节(也许是关键部分的一些示例),那么帮助您会更容易。 – 2012-01-19 14:13:15

+0

我最终通过仅使用gcd在后台运行同步操作来获得此工作。 – 2013-07-26 22:50:25