2011-09-07 166 views
0

我有一個應用程序連接到某個服務器來獲取數據。那麼我使用NSThreads,似乎在模擬器中完美的工作。一旦我在我的iPhone設備上安裝應用程序,它將停止工作。NSThread在模擬器上工作,但不在設備上

我不知道這是否是一個常見問題。如果是的話可以選擇NSThread的替代方案嗎?

注:我試過NSOperations但仍然遇到同樣的問題。

+2

它停止工作......非常模糊......是否崩潰?你得到一些日誌,調試器bactrace等? – Macmade

+0

它不會崩潰我使用NSThreads調用的函數不會被調用。當我在沒有NSThread的情況下調用這些函數時,它正常工作。不,我現在沒有。斯瑞 – ali

回答

0

如果NSThreadNSOperation都不起作用,那麼你的代碼有一些更基本的問題。這兩種功能在設備和模擬器上都能很好地工作(事實上,如果不這樣做,它們會有點無意義)。我強烈建議你更仔細地調查明顯的問題。更有可能的是,您有某種競爭條件,即您使用當前版本的操作系統在您的設備上獲取的特定時間會觸發,而當前版本的SDK的仿真器則不會。在這個領域iOS上最常見的錯誤可能是沒有注意到UIKit只能在主線程中使用。

但要準確回答這個問題的認沽:執行工作的主要替代異步是:

還要注意NSURLConnection有異步操作模式內置在向主線程報告中,這意味着您實際上不必爲自己做任何明確的事情。 Apple強烈建議您使用它,而不是構建自己的系統,因爲它的寫入性能要高於NSThread解決方案的功耗和處理器效率。

相關問題