iphone на KVO .. Как вызвать метод наблюдаемогоValueForKeyPath из метода viewWillAppear? - PullRequest
0 голосов
/ 18 августа 2011

Вот мои вещи ....

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
    if ([object isKindOfClass:[UIAccelerometer class]]) {   
    NSNumber *interfaceValue = [change objectForKey:NSKeyValueChangeNewKey];
    UIInterfaceOrientation toInterfaceOrientation = [interfaceValueintValue];           
    //here is my code....   
    }

1 Ответ

1 голос
/ 18 августа 2011

Если я вас правильно понимаю, вы хотели бы выполнить определенный код при изменении 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....
}

Если я полностью пропускаю отметку, отредактируйте ваш вопрос и добавьте более подробную информацию в объяснение вашей проблемы.

...