撕裂我的頭髮在這,任何想法或建議將不勝感激。performSelectorOnMainThread不會執行
我有一個對象從子線程調用performSelectorOnMainThread:withObject:waitUntilDone:
本身。這95%的時間工作正常。從iOS beta版開始,現在進入發行版,每隔一段時間,設備將拒絕執行performSelectorOnMainThread:withObject:waitUntilDone:
調用...沒有錯誤消息,它不會崩潰,我不能讓設備進入「失敗「但一旦它在那裏,它會繼續失敗,直到我刪除並重新安裝應用程序,或強制它退出,然後調整它的位置服務補貼,然後再次啓動它,然後再次將其位置服務重新調整爲正常。 ..重新啓動設備不能解決它。重新安裝而不先刪除不會修復它。這很奇怪....我知道它大部分時間工作,因爲大多數設備沒有問題,但是有些設備會有規律地失敗(每隔3或4天)。我知道performSelectorOnMainThread:withObject:waitUntilDone:
並不是在調用它應該的,因爲我現在有一個失敗的設備,並且我已經將NSLog放入了應該調用的方法。它功能正常,但在失敗的設備上,當使用performSelectorOnMainThread:withObject:waitUntilDone:
調用該方法時,NSLog顯示它沒有運行...
這開始發生在iOS 5 beta版本上,並且在發佈時會發生。它經常發生在我的兩臺設備上,但是我沒有親自測試過其他10臺設備。我認爲這只是我的設備在測試版中的一些問題,但它發生在我從未接觸過測試版的全新4S以及用戶的一款iPad 2上(不在我的iPad 2上)。
我真的不知道去哪裏看。我告訴它執行,它通常在幾乎所有設備上執行,但同一行在某些情況下沒有響應並且沒有錯誤等...
是你有任何機會使用CoreData?我有類似的問題。真正發生的是線程死鎖,等待使用CoreData執行讀取操作,而另一個線程正在嘗試寫入。 – picciano
@picciano你是如何解決這個問題的?我遇到同樣的問題,無法弄清楚我需要做什麼來解決僵局。 –