В iOS вы можете анимировать объекты вида с помощью блоков анимации:
[UIView animateWithDuration:1.0 animations:^{
firstView.alpha = 0.0;
secondView.alpha = 1.0;
}];
Здесь у нас есть блок кода, описывающий, какие свойства представления в конечном итоге будут обрабатываться после завершения анимации.
Как это работает?
Я мог бы понять (я думаю ), если бы это было сделано с использованием некоего декларативного формата, но, судя по всему, блок анимации — это просто обычный фрагмент кода, который предположительно должен быть выполнен, результаты проверены, а затем кто-то транскодируется в фактический графический код более низкого -уровня, который выполняет анимацию.
Выполняется ли блок на самом деле (или каким-то образом реконструирован -), и если да, то когда?
Если этот код выполняется до начала анимации, то почему изменения в свойствах представления, на которые ссылаются, не отражаются немедленно?
Что произойдет, если я поставлю в блок код, который не меняет свойства представления, а делает что-то другое?