如果我有实体部门和员工,在取得所有部门后,我可以看到员工仍有过错。我的目标是让一组员工与某个部门相关。根据我在文档中看到的内容,我不需要获取它,因为在必要时会触发错误。我尝试了下面这个,但是这个集合仍然是空的,NSLog显示员工仍然是错的:
Department *dep = (Department *)[self.fetchedDepController objectAtIndexPath:indexPath];
NSSet *employeesSet = [dep employee];
NSLog(@"Department: %@", dep);
我错过了什么?
答案 0 :(得分: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错误,那么你可能会对某个对象何时改变其性质有所依赖。如果你只是按照他们想要的那样做事情,那么你没有问题,但是文档并不完全清楚什么是预期,允许和预期的限制。