Objective c阻止执行和重用

时间:2013-07-12 18:45:12

标签: objective-c objective-c-blocks

我试图了解客观c块的工作方式。

据我了解:block只是一个没有名字的函数。

例如:

 ^(int a, int b) { return a + b; }; 
  1. 我该如何调用它?

  2. 我可以多次使用它,因为我会使用一个功能吗?如果我可以怎么做?

  3. 什么课程将自我'关键字是指块内?

  4. 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

- (void)something
{
    void (^ sample)(void) = ^{
        NSLog(@"I am %@", self);
    };

    sample();
    sample();
}

......或者更符合你的样本:

int (^ adder)(int a, int b) = ^(int a, int b) { return a + b; };
NSLog(@"Result: %d", adder(5, adder(5, 4)));