所以我正在研究這個應用程序,它爲iPhone請求和檢索web服務內容。我遇到的問題是這樣的:當我最初請求數據時,它被作爲一個獨立的線程產生,以便應用程序不會由於網絡緩慢而變得無響應。這意味着如果用戶在數據下載完成之前導航離開當前頁面,則可能會發生意想不到的情況。如何停止失控進程
我已經設法將問題範圍縮小到一個相對簡單的問題:我有一些嵌套表,所以如果用戶進入「消息」表,有時需要一些時間下載,然後返回立即取出,然後選擇一組不同的消息進行查看,之前的一組消息最終會加載,因爲它仍然在隊列中。
這件事情我已經嘗試:
1)我試圖取消操作,但這是徒勞的,因爲自從我只允許當時的隊列中的一個操作,就立即觸發
2 )我嘗試驗證數據的接收者是相同的,但這不起作用,因爲實際的表對象是兩個選擇之間的對象,它只需要一個不同的數據集。
任何人都有如何解決這個棘手的線程問題的一般編程建議?
在iPhone的特定筆記:如果我可以阻止用戶能夠退出郵件表,我不會有這個問題,因爲他們基本上會鎖定在該視圖,直到數據完成加載。
謝謝!
你有線程的參考嗎?如果你有一個線程的引用,那麼你可以打斷它......當然,最好等待線程完成它所做的任何事情,但這取決於工作流程。 – Kiril 2011-05-02 21:08:09