我正在练习 Key Value Observing,但我不太了解。
我有一个滑块 (sldMoving),当它移动时,它会假装控制台显示“已更改”。虽然还有其他方法可以做到这一点,但我很好地学习。
在 - (void) viewDidLoad 中很好地实现它:
[super viewDidLoad];
[self.sldMoving addObserver:self forKeyPath:@"self.sldMoving.value" options:NSKeyValueObservingOptionNew context:NULL];
在 observaValueKeyPath 中:
-(Void) observeValueForKeyPath: (NSString *) keyPath ofObject: (id) object change: (NSDictionary *) change context: (void *) context {
if ([keyPath isEqualToString:@"self.sldMoving.value"]) {
NSLog(@"I Have change");
显然我写的这些废话是行不通的。
错误:
2012-08-25 20:17:07.611 示例 [3947:c07] * 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[addObserver:forKeyPath:@"sldMoving.value" options:0x101 context:0x0] 已发送到“sldMoving”属性不符合 KVC 的对象。* First throw call stack: (0x136b022 0x1060cd6 0x1313a48 0x13139b9 0xadc84f 0xadeb0c 0xaddd3f 0xadc6fd 0x27ff 0x28aa1e 0x1e9401 0x1e9670 0x1e9836 0x1f072a 0x1c1596 0x1c2274 0x1d1183 0x1d1c38 0x1c5634 0x2177ef5 0x133f195 0x12a3ff2 0x12a28da 0x12a1d84 0x12a1c9b 0x1c1c65 0x1c3626 0x1efd 0x1e65) terminate called throwing an exception
我该如何解决这个问题?
谢谢你。
(请原谅我的英语不好)