首页 > 代码库 > oc之blocks

oc之blocks

#import <Foundation/Foundation.h>

int main(int argc,char *argv[])

{

  @autoreleasepool{

    int foo =10;

    void (^printFoo)(void)=

      ^(void){

          NSLog(@"foo=%i",foo)

       };

    foo=15;

    printFoo();

  }

  return 0;

}

输出结果: Foo=10; 输出结果是10不是15是因为变量在定义块的同时已经具有值了,而不是在块执行的时候。