我可以像这样访问值:
NSNumber* rotationZ = [myLayer valueForKeyPath:@"transform.rotation.z"];
但由于某种原因,如果我尝试 KV 观察该密钥路径,则会出现编译器错误。首先,这就是我尝试这样做的方式:
[myLayer addObserver:self forKeyPath:@"transform.rotation.z" options:0 context:nil];
编译器告诉我:
*** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[addObserver:forKeyPath:@"rotation.z" options:0x0 context:0x528890] 被发送到不符合 KVC 的“旋转”对象财产。'
我不明白的是,为什么我可以通过 KVC 密钥路径访问该 z 值,但不能向其添加观察者。这有意义吗?
我还能如何观察该矩阵的 z 值?我不关心矩阵的其他值。只有 z 旋转。还有其他方法可以访问和观察它吗?