我正在为我的应用构建属性观察器(键值观察)。理想的情况是监视值的奇异值(字符串或字典)。我已经在viewDidLoad
中写过@interface BarScannerViewController () <AVCaptureMetadataOutputObjectsDelegate>
{
NSMutableDictionary *scanTrackingNumbers;
}
和viewdidload
[scanTrackingNumbers addObserver:self forKeyPath:@"scanTrackingNumber" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:nil];
[scanTrackingNumbers setValue:@"test123455" forKey:@"scanTrackingNumber"];
并实现方法
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context{
if ([keyPath isEqualToString:@"scanTrackingNumber"]){
NSLog(@"scanTrackingNumber Changed %@",change);
NSLog(@"scan12335 %@",scanTrackingNumbers);
}
}
我不知道为什么它不起作用(注意打印到控制台日志)。代码可能有什么问题?