block结构的简单使用

block在oc中是一种基本的数据结构,基本的使用和其他的变量是一样的。
———-一般的简单步骤
1、block的定义
2、block的定义
3、block的值的设置
4、block的值的获取(或者调用)
下面是一个简单的使用,4个步骤会直接连贯使用

@autoreleasepool {
    //程序执行到block,也就是代码块中的内容已经赋值给了相应的函数指针
    void (^print_Message)(void)= ^(void){
        NSLog(@"what is your name");
    };
    //这个就相当于赋值的内容,这里只是赋值,相当于给block这个类型的变量set的方法
    //这里需要调用一下
    print_Message();
}

下面是一个具体的步骤过程:

#import <Foundation/Foundation.h>

typedef void (^Print_Message)(void);  //声明

int main(int argc, const char * argv[]) {
@autoreleasepool {
    //通过前面的该改变,我们可以是西安了相应
    Print_Message print_Message;  //定义

    //赋值
    print_Message= ^(void){
        NSLog(@"what is your name");
    };
    //类似get的方法,也就是获取block里面的值的时候就是调用
    print_Message();
}
return 0;

}
//1、声明
//2、定义
//3、类似set方法设置值
//4、类似get方法获取值,就是调用

static 关键子的影响

 @autoreleasepool {
    static int outA = 8;
    int (^myPtr)(int) = ^(int a){ outA = 5; return outA + a;};
    int result = myPtr(3);  //result的值是8,而不是11,因为outA是static类型的变量
    NSLog(@"result=%d", result);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值