oc block基本使用

//
//  main.m
//  block基本使用
//
//  Created by Ymmmsick on 15/7/21.
//  Copyright (c) 2015年 Ymmmsick. All rights reserved.
//

#import <Foundation/Foundation.h>
typedef int (^IntBlock)() ;
typedef void (^VoidBlock)();

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"这个哥修改过的模版!");
        
        //没有行参,没有返回值的block
        void (^testBlock)() = ^ {
            NSLog(@"Block---->Test");
            NSLog(@"Block---->Test");
        };
        
        testBlock();
        
        //有行参有返回值的block
        int (^sumBlock)(int,int) = ^(int a,int b){
            return a+b;
        };
        NSLog(@"sum is :%d",sumBlock(10,12));
        
        //typedef
        IntBlock productBlock = ^(int a,int b){
            return a * b;
        };
        NSLog(@"product is :%d",productBlock(10,10));
        
        /*
         Block访问外部变量
         1.block内部可以访问外部的变量
         2.默认情况下,block不能修改外部的变量
         3.外部变量添加__block关键字,block内部就可以修改外部的变量
         */
        
        __block int a = 0;
        VoidBlock areaBlock = ^{
            a = 10;
            NSLog(@"a = %d",a);
        };
        areaBlock();
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/wubingshenyin/p/4665892.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值