这个代码在objective-c中意味着什么?

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

要回复问题请先登录注册