Вы можете использовать Наблюдение значения ключа для свойства некоторого объекта.Скажем, вы передаете Object в контроллер представления, который вы нажимаете на свой контроллер навигации с именем PlayerState.Контроллер первого вида может наблюдать это свойство
[PlayerState addObserver:self forKeyPath:@"highScore" options:NSKeyValueObservingOptionNew context:nil]
Затем каждый раз, когда объект с высокими показателями изменяется, вы получите уведомление, реализовав следующую функцию
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
Этот метод улучшает некоторые другиеметоды, потому что это разъединяет реализацию размещения ваших контроллеров представления и игровой логики.Вы можете изменить место отображения рекорда, но всегда хотите, чтобы он менялся при изменении базового объекта.Уведомления - очень похожий способ сделать это, но требует, чтобы вы отправляли уведомление каждый раз, когда вы изменяете объект с высокими показателями.КВО сделает это автоматически.