blockレビュー
1969 ワード
1.戻り値あり、パラメータあり
2.戻り値なしパラメータあり
3.戻り値なし、パラメータなし
4.関数末尾block
//====== typedef
typedef NSString *(^logBlock)(NSString *str1,NSString *str2);// ,
@property (nonatomic ,copy)logBlock blockkk;
self.blockkk = ^NSString *(NSString *str1, NSString *str2) {
return @"123";
};
self.blockkk(@"123", @"1234");
typedef
NSString *(^logBlock)(NSString *,NSString *) = ^(NSString *str1,NSString*str2){
return [NSString stringWithFormat:@"%@,%@",str1,str2];
};
NSLog(@"%@",logBlock(@" ",@"block"));
2.戻り値なしパラメータあり
typedef
typedef void (^block1)(NSString *str,id data);
@property (nonatomic ,copy)block1 block1;
self.block1 = ^(NSString *str, id data) {
NSLog(@"---%@,%@",str,data);
};
self.block1(@"123", @123);
//====== typedef
void (^sumBlock)(int a ,int b) = ^(int a ,int b){
NSLog(@"demo2");
};
sumBlock(10,10);
3.戻り値なし、パラメータなし
typedef
typedef void (^block3)(void);
@property (nonatomic ,copy)block3 block3;
self.block3 = ^{
NSLog(@" ");
};
self.block3();
typedef
void (^block)(void) = ^(){
NSLog(@" , ");
};
block();
4.関数末尾block
typedef
//1. typedef block
typedef void (^callBack)(NSString *str);
//2 block
- (void)demo3:(callBack)block{
block(@"123");
}
//.
[self demo3:^(NSString *str) {
NSLog(@" block");
}];
//==== block block
//1.
typedef void (^callBack)(NSString *str);
//2
@property (nonatomic ,copy)callBack block4;
//3
self.block4 = ^(NSString *str) {
NSLog(@"---%@",str);
};
[self demo3:self.block4];
//4
- (void)demo3:(callBack)block{
block(@"123");
}