我有一个Person
属于Department
一对多关系的实体。
我希望能够在Department
没有更多Person
s 与之关联时删除它(通过删除Person
实体或更改Person
'sdepartment
属性)。现在,我正在尝试使用以下处理程序来执行此操作NSManagedObjectContextObjectsDidChangeNotification
(目前只是试图查看删除,并适当地删除):
- (void)managedObjectDidChange:(NSNotification *)notification {
NSSet *updatedObjects = [[notification userInfo] objectForKey:NSDeletedObjectsKey];
for (NSManagedObject *obj in updatedObjects) {
if ([obj.entity.name isEqualToString:@"Person"]) {
NSLog(@"Person Changed");
NSManagedObject *department = [(Person *)obj department];
NSLog(@"%i", [[department valueForKey:@"person"] count]);
if ([[department] valueForKey:@"person"] count] == 0) {
NSLog(@"Department has no more people associated with it");
// deletion code
}
}
}
}
但是,当我删除一个人时,与部门关联的人数不会改变。我没有对Department
实体执行提取。那是我应该做的事情吗?