Когда я разработал поведение KVO,
[A addObserver:B forKeyPath:kLAShopRuleObserveKey options:NSKeyValueObservingOptionNew context:nil];
И я удалил наблюдателя в [B dealloc]
как:
[A removeObserver:B forKeyPath:kObserveKey];
Работает нормально.
Сейчас Я добавляю наблюдателя несколько раз:
[A addObserver:B forKeyPath:kLAShopRuleObserveKey options:NSKeyValueObservingOptionNew context:nil];
[A addObserver:B forKeyPath:kLAShopRuleObserveKey options:NSKeyValueObservingOptionNew context:nil];
Но я удаляю KVO только один раз в B:
- (void)dealloc
{
[A removeObserver:self forKeyPath:kObserveKey];
}
, он отлично работает на iOS 11 и позже, но вылетает на iOS 10 и ранее, как он ведет себя по-разному