【发布时间】:2009-08-11 14:23:43
【问题描述】:
我可以像这样访问值:
NSNumber* rotationZ = [myLayer valueForKeyPath:@"transform.rotation.z"];
但由于某种原因,如果我尝试 KV 观察该密钥路径,则会出现编译器错误。首先,我尝试这样做:
[myLayer addObserver:self forKeyPath:@"transform.rotation.z" options:0 context:nil];
编译器告诉我:
*** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序, 原因: '[ addObserver: forKeyPath:@"rotation.z" 选项:0x0 上下文:0x528890] 已发送 到不符合 KVC 的对象 对于“旋转”属性。'
我不明白的是,为什么我可以通过 KVC 密钥路径访问该 z 值,但不能向其添加观察者。这有意义吗?
我还能如何观察该矩阵的 z 值?我不关心矩阵的其他值。只有 z 旋转。有没有其他方法可以访问和观察它?
【问题讨论】:
标签: iphone cocoa-touch key-value-observing key-value-coding