CALayer valueForKey:

时间:2010-07-02 19:12:07

标签: iphone core-animation calayer

CALayer的valueForKey与任何其他普通NSObject的行为有何不同?
我有一个继承自CALayer的自定义图层,它有一个名为'angle'的属性, 但是[myLayer valueForKey:@“angle”]总是返回nil而[myLayer angle]返回正确的值。

ValueForKey:从NSObject继承的类中使用,但不是来自CALayer的类,所以我猜它是[CALayer valueForKey:],它正在做一些奇怪的技巧。

谢谢!

1 个答案:

答案 0 :(得分:2)

整个Core Animation实际上是由C ++代码支持的,该接口只是一个Objective-C包装器。因此,-valueForKey:之类的函数已经重新实现,首先要通过C ++核心。这与NSObject不同。

如果您的-angle只是一种方法,而不是声明的属性,则自定义-valueForKey:将无法找到它。这可能是一个错误。尽量确保声明属性.angle

@property(assign) float angle;