2011-12-20 50 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