【发布时间】:2012-08-20 21:58:54
【问题描述】:
我正在练习 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 Example[3947:c07] * 终止应用程序到期 未捕获的异常'NSUnknownKeyException',原因:'[addObserver: forKeyPath:@"sldMoving.value" options:0x101 context:0x0] 被发送到 “sldMoving”属性不符合 KVC 的对象。 * 第一次抛出调用栈:(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) 终止调用抛出异常
我该如何解决这个问题?
谢谢。
(对不起我的英语不好)
【问题讨论】:
标签: iphone ios slider key-value-observing