我正在写一个自定义视频播放器,这是我的疑问:
即使键“playbackLikelyToKeepUp”的值没有改变,观察者方法也会被调用。下面是截图:
这怎么可能? 这是代码:
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context{
if([keyPath isEqualToString:@"playbackLikelyToKeepUp"]){
NSLog(@"%@",change[@"new"]);
if([change valueForKey:@"new"] == [NSNumber numberWithBool:YES])
[myPlayer play];
NSLog(@"%@",change);
}
}
并在viewDidLoad方法中:
[myPlayerItem addObserver:self forKeyPath:@"playbackLikelyToKeepUp" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];
你可以看到上面的截图。