我目前有一個帶有標籤欄的iPhone項目。在標籤欄上有兩個視圖。這兩個視圖都會將數據加載或保存到核心數據數據庫(這兩個視圖都會啓動一個方法,從Web服務收集數據並將其保存到數據庫中)。加載視圖時,它會從填充視圖中的表的數據庫加載數據。如果我運行該應用程序並單擊tabbar中的第二個視圖,第一個視圖仍然從webservice加載數據並將其插入到單獨線程中的數據庫中。這很好,但是一旦第一個視圖完成將所有數據從webservice加載到數據庫中,它就會凍結兩個視圖控制器,只要第二個視圖控制器正在從數據庫加載數據。核心數據:在保存結束時凍結
控制檯沒有錯誤,xcode沒有提示有任何錯誤。我的所有進程都在不同的線程上工作,所以主線程不會凍結。從Web服務中提取數據並將其保存到數據庫是一種方法,並且在方法結束時我放入了NSLog(@"View Controller 1 Save Complete")
。一旦這個被調用並且第二個視圖控制器仍在加載數據,它就會凍結。整個應用程序無響應(無效)。
我看過其他SO問題的信息,它建議我宣佈每個抓取或插入一個新的NSManagedObjectContext
,我已經這樣做,但它沒有解決問題。
如果有人知道發生了什麼,或者想了解更多信息,請告訴我。編輯: 我正在使用Xcode 4.5和IOS 6模擬器。這是一週前發佈的新IOS的測試版本。我知道這不是錯誤,因爲在我開始使用測試版之前,我有這個問題。
請發佈一些相關的代碼,包括如何連接到Web服務。 – timthetoolman
@timthetoolman我無法形象會有任何相關的代碼,因爲這不是一個web服務錯誤,並沒有控制檯中的錯誤? – CoreCode
聽起來像您可能會遇到線程死鎖。正如@timthetoolman所說的,我們需要看一些代碼來看看發生了什麼。 – Sean