[CATransaction withAnimationSpeed:1.0 :^ {
if(newMultiplier > 100)
fillLayer.backgroundColor = ColRGBA(1, 1, 0, 0.2);
else
fillLayer.backgroundColor = ColRGBA(0, 0, 0, 0);
}];
^ {}是什么意思?为什么要使用这个符号。
答案 0 :(得分:5)
这称为block。它们类似于其他语言中的匿名函数,因为您使用它们来运行代码块作为其他一些例程(在您的情况下是动画)的一部分。当您不想在类中创建一次性使用方法时,块非常有用,因此您可以将它们的选择器传递给像performSelector:
这样的Objective-C方法。
^
是块的符号。 { }
中的代码就像方法的{ }
块中的代码一样。
某些块具有与C函数类似指定的参数:
^(int a, int b) {
NSLog(@"a + b = %d", a + b);
}
在您的代码中,^ {}
与^(void) {}
相同,即该块不带任何参数。