屏幕锁定后,键值观察不会更新对象

时间:2013-11-25 14:14:28

标签: ios cocoa-touch key-value-observing

我在iOS中遇到了一个关键值观察的奇怪问题。

我有一个对象,我添加观察者来监控下载进度:

[inAppProduct addObserver:self forKeyPath:@"progress" options:0 context:nil];

然后我实现了方法

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context

此处object参数包含已更改的inAppProduct。一切正常,直到屏幕在下载过程中被锁定(由于不活动或通过按下电源按钮手动)。解锁屏幕后,每次inAppProduct更新时仍会调用观察者方法,但object不包含新值。相反,它包含屏幕锁定之前的最后一个值inAppProduct

如果我在添加观察者时添加选项NSKeyValueObservingOptionNewchange字典实际上包含新的更新值,即使object没有。

0 个答案:

没有答案