代码块

下边是代码块的定义及使用方法


//block 作为函数的参数
// 函数返回值类型   函数名 (block 的声明格式 )
int fun( int (^block)( int a, int b)) // 回调
{
   
return block(1,2);
}

    //block 声明格式:返回值类型 (^block 名字 )( 形参列表 )
        int (^myFun)();
       
//1.block 实现 :block 名字 = ^( 形参列表 ){};
        myFun = ^(){
           
return 1;
        };
       
int a = myFun(); // 调用 :block 名称 ( 实参列表 ), 有返回值的 block, 可以用一个变量进行接收
       
NSLog ( @"%d" ,a);
       
       
//2. 有返回值,有形参,声明和实现放一起
       
int (^myBlock)( int a, int b) = ^( int a, int b){
           
return a+b;
        };
       
NSLog ( @"%d" ,myBlock(10,20)); // 调用
       
       
//3. 返回值类型是 NSString
       
NSString *(^myBlock1) ( NSString *s) = ^( NSString *s){
           
NSLog ( @" 字符串 %@" ,s);
           
return s;
        };
        myBlock1(
@"123456" );
       
       
//4. 有一个局部变量,要在 block 进行值的改变 , 必须定义一个 __block + 变量类型 的变量
       
__block int b = 0;
       
void (^myBlock2)() = ^(){
            b++;
        };
        myBlock2();
        NSLog(@"%d",b);

        //block 作为形参
       
int (^myBlock4)( int a, int b) = ^( int a, int b){
           
return a+b;
        };
        NSLog ( @"%d" , fun (myBlock4));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值