В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Я не уверен точно, что Вы пытаетесь сделать, но если Вы хотите использовать CA на других свойствах, который не является проблемой. Просто необходимо зарегистрировать надлежащие меры для ключевого пути. Существует пример выполнения этого в Базовой документации Анимации Apple, с помощью CAAction. Конкретно Вы реализуете actionForLayer:forKey: для конфигурирования поведения анимации по умолчанию того ключа, и если Вы хотите сделать анимацию свойства неявно, Вы реализуете runActionForKey:object:arguments:.
Что касается анимированных объектов кроме CALayers, я действительно не понимаю. Слои являются корневым визуальным объектом в Базовой Анимации. Кроме того, на iPhone каждый UIView поддерживается на слое, я не полагаю, что существует что-либо на экране iPhone, который не находится в слое, таким образом, я не понимаю, почему Вы волнуетесь по поводу использования анимации на чем-то, что не является CALayer.
Если можно сделать изменения сами и класс, Вы используете, является пользовательским, Вы могли бы хотеть добавить setProgress: (плавание) f метод к Вашему классу и использованию CA для анимации его затем измените желаемые свойства по мере необходимости как функцию f.
Просто сделайте a
[[someObject animator] setValue:[NSNumber numberWithFloat:1.0] forKeyPath:@"someCustomProperty.progress"];
или если объект не имеет аниматора, создайте корректный CAAnimation сами.
Ну, кажется, что я не могу сделать этого. То, что я должен делать, [разделяющий NSAnimation на подклассы] (https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/AnimationGuide/Articles/TimingAnimations.html, разделяющий NSAnimation на подклассы). Это будет работать над MacOS 10.4 + приложение, но не над Касанием Какао, в котором я не могу найти альтернативы кроме использования NSTimer.