我正在为我的应用程序构建属性观察器(键值观察)。理想的做法是监视值的奇怪值(字符串或字典)。我在viewDidLoad中ios属性观察者目标C(字符串或字典)
@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);
}
}
我不知道为什么它不工作(注意打印到控制台日志)。任何人都知道代码有什么问题?谢谢!
任何一个有理想是什么? –
你应该忘记初始化成员'scanTrackingNumbers' @Raegtime说。 – Enix