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是因为变量在定义块的同时已经具有值了,而不是在块执行的时候。

posted @ 2014-08-14 09:58  松鼠的松子  阅读(130)  评论(0编辑  收藏  举报