CALayer valueForKey: - PullRequest
       1

CALayer valueForKey:

0 голосов
/ 02 июля 2010

Насколько отличается поведение ValueForKey CALayer от поведения любого другого обычного NSObject?
У меня есть пользовательский слой, который наследуется от CALayer, и который имеет свойство с именем 'angle', но [myLayer valueForKey: @ "angle"] всегда возвращает ноль, в то время как [myLayer angle] возвращает правильное значение.

ValueForKey: работает, как и предполагалось, с классом, унаследованным от NSObject, но не с классом от CALayer, поэтому я предполагаю, что это [CALayer valueForKey:], что делаетнекоторые странные трюки ..

Спасибо!

1 Ответ

2 голосов
/ 02 июля 2010

Вся Core Animation фактически поддерживается кодом C ++, интерфейс - просто оболочка Objective-C.Поэтому функции типа -valueForKey: были переопределены, чтобы сначала пройти через ядро ​​C ++.В этом отличие от NSObject.

Если ваш -angle является просто методом, а не объявленным свойством, пользовательский -valueForKey: не найдет его.Это, вероятно, ошибка.Убедитесь, что вы объявили свойство .angle.

@property(assign) float angle;
...