typedef int (^Sum) ( int , int ); |
这样我们就利用typedef定义了一个block,这个block的名字就是Sum,需要传入两个参数。当我们需要使用时,就可以这样做了:
Sum mysum = ^( int a, int b) { |
n = 2; |
return (a + b)*n; |
}; |
这样就完整的定义好了一个block了,接下来的使用如下:
#import <Foundation/Foundation.h> |
typedef int (^Sum) ( int , int ); |
int main( int argc, const char * argv[]) |
{ |
__block int n = 1; |
@autoreleasepool { |
Sum mysum = ^( int a, int b) { |
n = 2; |
return (a + b)*n; |
}; |
NSLog(@ "(3 + 5) * %i = %d" , n, mysum(3, 5)); |
} |
return 0; |
} |