我有以下順序:等待NSURLConnection的代表完成
- 開始MBProgressHUD微調
- 下載幾個圖像使用NSConnectionURL並實現connectionDidFinishLoading委託來顯示圖像 所有圖像後
- 停止微調下載並顯示包含所有圖像的父視圖
我應該如何實施connectionDidFinishLoading:
來解決rmine是否下載了所有圖像,以便我可以停止微調?
我應該跟蹤下載次數,但線程安全性如何?
或者我應該看看GCD?
我有以下順序:等待NSURLConnection的代表完成
我應該如何實施connectionDidFinishLoading:
來解決rmine是否下載了所有圖像,以便我可以停止微調?
我應該跟蹤下載次數,但線程安全性如何?
或者我應該看看GCD?
我會使用一個NSOperationQueue
並提交下載作爲個別塊操作與同步NSURLConnection
請求。您可以在此處設置最大併發操作數,這樣您就不會一次下載所有內容,並且您可以免費取消。跟蹤完成可以簡單地通過向隊列提交另一個操作來完成 - 最後一個提交的操作將在所有下載完成後運行。這可能需要將併發操作的數量限制爲一個,所以另一種方法是觀察(KVO)剩餘操作的數量。當它下降到零時,你就完成了。
我應該如何落實connectionDidFinishLoading:確定 所有圖像是否下載,這樣我可以停止微調?
我會通過跟蹤活動連接的數量來做到這一點。您可以將連接本身保留在可變數組中,並在連接完成時將其刪除,或者在連接開始時遞增計數器,並在完成時遞減計數器。無論哪種方式,當活動連接的數量達到零時,您將刪除微調器。
下面的總下載次數和完成下載都沒問題。 – 2012-10-17 15:40:01