Это называется блок . Они похожи на анонимные функции в других языках в том смысле, что вы используете их для запуска блоков кода как часть какой-то другой подпрограммы (в вашем случае, анимации). Блоки полезны, когда вы не хотите создавать одноразовые методы в своем классе, просто чтобы передавать их селекторы в методы Objective-C, такие как performSelector:
.
^
является символом для блока. Код в { }
ведет себя так же, как код в блоке { }
метода.
Некоторые блоки имеют параметры, указанные аналогично функциям C:
^(int a, int b) {
NSLog(@"a + b = %d", a + b);
}
В данном коде ^ {}
совпадает с ^(void) {}
, т. Е. Блок не принимает никаких параметров.