Итак, я новичок в Core Data и KVO, но у меня есть подкласс NSManagedObject, который успешно отслеживает свои отношения ко многим. Проблема в том, что при наблюдаемых изменениях я хочу перебирать только набор объектов, которые были добавлены или удалены. Есть ли способ получить доступ к этим элементам напрямую? Или я должен сделать что-то относительно неэффективное, например:
NSSet* newSet = (NSSet*)[change objectForKey:NSKeyValueChangeNewKey];
NSSet* oldSet = (NSSet*)[change objectForKey:NSKeyValueChangeOldKey];
NSMutableSet* changedValues = [[NSMutableSet alloc] initWithSet:newSet];
[changedValues minusSet:oldSet];
Я чувствую, что вы сможете этого избежать, потому что в этих сообщениях ...
[self willChangeValueForKey:forSetMutation:usingObjects:];
[self didChangeValueForKey:forSetMutation:usingObjects:];
вы передаете ему добавленные / удаленные объекты! Может быть, будет полезно знать, что происходит с этими объектами?