Если я вас правильно понимаю, вы хотели бы выполнить определенный код при изменении keyValue - и вы также хотели бы выполнить этот код в viewWillAppear. Вместо того, чтобы пытаться программно вызвать метод KVO, просто создайте отдельную функцию, которую вы можете вызывать из обоих мест:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
[self myKeyValueObservationMethod];
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self myKeyValueObservationMethod];
}
- (void)myKeyValueObservationMethod {
// here is my code....
}
Если я полностью пропускаю отметку, отредактируйте ваш вопрос и добавьте более подробную информацию в объяснение вашей проблемы.