我有一個Person
實體,它屬於一對多關係的Department
。只有在沒有關係的情況下才能正確處理刪除對象?
我希望能夠刪除Department
當它存在(無論是通過缺失Person
實體,或者更改了Person
的department
屬性)關聯不多Person
秒。現在,我想用下面的處理程序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
實體執行提取操作。那是我應該做的事嗎?
您是否在刪除`Person`對象後保存上下文? – Rog 2011-02-13 06:23:31
是的,我刪除了`Person`,保存了上下文,當我'NSLog`與`Department`關聯的`Person`對象的計數時,沒有任何變化。 – 2011-02-14 01:06:58