2011-09-05 51 views
0

我創建了一個小測試應用程序。它創建了一家新公司和一批x員工。CoreData,多線程和綁定同時

員工是在他們自己的線程中創建的,一旦完成,他們將被添加到公司。

因爲不允許在線程之間共享管理對象,所以我使用公司的對象ID。

爲了不同時讀取/寫入相同的託管對象上下文,我爲每個線程創建了一個臨時上下文。我使用 - (void)mergeChanges:(NSNotification *)Notifikation併合並man上下文和線程上下文之間的變化。

我使用兩個應用程序控制器和綁定在兩個表視圖中顯示公司及其員工。

但仍有一個問題,我無法修復。每次我用員工創建一個新公司時,並非所有員工都出現在表格視圖中。不知何故,他們迷路了,但我無法弄清楚在哪裏。

我已上載這裏的Xcode項目:http://uploading.com/files/7894m9mc/CoreDataMultiThreading.zip/

我想現在找到一個星期的bug :(也許別人有更多的運氣

注:我想嘗試用什麼應用程序是,儘快爲他們創建創建自己的線程許多對象(僱員),這些對象添加到同一個對象(公司)。

(請原諒我糟糕的發音)

+0

您提供的URL上的zip文件已損壞,不會解壓縮。 – TechZen

+0

沒關係,文件託管服務只是很奇怪,讓你等待。 – TechZen

回答

1

問題出現是因爲Employee對象的許多company關係在與前臺線程合併後設置爲零。由於它們沒有company關係對象,因此它們不會顯示在UI中。

我不知道爲什麼合併將關係設置爲零。它可能與多次合併同時發生或嘗試合併無故障的錯誤對象有關。