Это немного коротко, но вы можете сделать следующее, предполагая, что у вас есть подкласс NSManagedObject для классов Loan, Borrower и Photo.
1.) В разделе «Заем» настройте KVO для свойства «image» для фотографии займа.
2.) В Loan добавьте свойство changeCount (NSNumber *).
3.) Когда ссуде сообщают об изменении изображения фотографии, увеличивают changeCount.
Итак, в очень грубом коде, что-то вроде этого:
в Load.m:
- (void) awakeFromFetch
{
[super awakeFromFetch];
[[self photo] addObserver:self
forKeyPath:@"image"
options:NSKeyValueObservingOptionNew
context:nil];
}
- (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if ([keyPath isEqualToString:@"image"])
{
NSInteger temp = [[self changeCount] intValue];
++temp;
[self setChangeCount:[NSNumber numberWithInteger:temp]];
}
}
Есть несколько предостережений.
1) Это касается только 'fetch', а не , а 'insert' (т.е. новые кредиты).
2) Предполагается, что у извлеченного кредита будет фото.
3) Предполагается, что вы добавили свойство «changeCount» в Loan.
4) Я не проверял это, хотя использую удаленно похожие механизмы в одном из своих приложений.