2011-10-12 27 views
0

如果我有實體部門和員工,在獲取所有部門後,我可以看到員工仍然存在問題。我的目標是讓一組員工與某個事情相關。根據我在文檔中讀到的內容,我不需要獲取它,因爲在必要時會觸發故障。我嘗試了以下,但設置仍然是空的,NSLog顯示員工仍然存在故障:核心數據 - 燃燒故障

Department *dep = (Department *)[self.fetchedDepController objectAtIndexPath:indexPath]; 
NSSet *employeesSet = [dep employee]; 
NSLog(@"Department: %@", dep); 

我在想什麼?

回答

0

在您訪問員工的財產之前,他們將是過錯。例如:

NSSet *employeesSet = [dep employee]; 
for (Employee *employee in employeesSet) { 
    float pay = 0.0; 
    for (Day *day in employee.timecard) { // relationship fires fault 
     float hours = (day.clockout - day.clockin)/60.0/60.0; 
     if (hours > 8.0) pay += employee.payrate * (8.0 + (hours - 8.0) * 1.5); // attribute would too 
     else pay += employee.payrate * hours; 
    employee.pay = pay; // so would setting an attribute 

因爲爲什麼所有示例都必須針對有薪僱員?

這將引發所有員工的錯誤。

但是,您通常不需要擔心它,因爲任何故障對象都應該在您需要時停止出現故障。但是,我也不相信它。如果你設置了awakeFromFetch和didTurnInto錯誤,那麼你就有可能依賴於對象何時改變其性質。如果你只是像他們打算和期望的那樣去做事情,那麼你沒有問題,但是文檔並不完全清楚打算,允許和期望的限制是什麼。