Objective-C --- block (梳理整理)

block像c中的函数指针

声明 :void(^myBlock)(void);

实现:myBlock  = ^void(void){   };

调用:myBlock();

 

block的基本命名格式

1.无参无返回值

    void(^block)() = ^(){

        NSLog(@"block");

    };

    block();

2.有参无返回值

    void(^block)(NSString*) = ^(NSString* prarameter){

                NSLog(@"%@",prarameter);

    };

        block(@"block");

3.无参有返回值

    NSString*(^block)() = ^NSString*(){

        return @"block";

    };

    NSLog(@"%@",block());

4.有参有返回值

    NSString*(^block)(NSString*) = ^(NSString* prarameter){

        return prarameter;

    };

    NSLog(@"%@",block(@"block"));

 

typedef

因为书写麻烦,可以用typedef,这样可以让程序简洁 易懂

1.给无参无返回的block取名myBlock

typedef   void(^myBlock)();  

2.block的声明和实现 调用

    myBlock block = ^(){     NSLog(@"block");  };

 block();

 

应用:

1.作为方法的参数

-(void)mmXbloc:(void(^)())block{    block();  }

 [对象 mmXbloc:^{  }];

2.作为对象的成员属性  可用于反向传值<****> 小举例一下,直接上源码,记得当时这个block烦了我很久  网上也没找到好的例子,现在自己懂了点点,直接写个demo小炫一下好了

新建一个类

1.h文件内容

minmin

2.m文件内容

minmin

3上个界面对block进行赋值

minmin

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值