这是我第一次使用 KVO,我马上就卡住了。问题是,当调用 observeValueForKeyPath 时,我正在调用同一个类中的另一个方法。该方法只是显示一个警报视图。我认为简单的事情,但警报视图不显示。
- (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
change:(NSDictionary *)change context:(void *)context
{
[self beginUpdate];
}
-(void)beginUpdate
{
NSLog(@"Check!");
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"message" message:@"Hi" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}
显示日志消息。仅当我从observeValueForKeyPath 以外的任何其他方法调用它时,才会显示警报消息。