block 常见写法总结

1.block 语法 (block 语句)
a.//全

^int(int count){return count+1;}    ^void(void){return count+1;}

b.//省略返回值

^(int count){return count+1;}

c.//省略返回值和参数

^{printf(@"test\n");}

2.block类型变量

//全
int (^blk)(int) = ^int (int count){return count+1;};

3.block类型变量作为函数参数使用

a.//block作为函数参数使用
//法一
void func(int (^blk)(int));  //c的写法
+ (void)getQNToken:(void(^)(NSDictionary *dic))success;  //oc写法
//法二推荐 定义类型在使用 
typedef int (^blk_t)(int);
void func1(blk_t blk);

typedef void(^SuccessBlock)(NSDictionary *dic);//把上面类型拿过来添加一个type就可以
+ (void)success:(SuccessBlock)success;

b.//block 作为函数返回值使用
int (^func2())(int)   //该语句是个函数  //注意把func后面的()去掉就是声明block变量
{    
  return ^(int count){return count+1;};
}
//推荐用如下方式
blk_t func2()
{    
  return ^(int count){return count+1;};
}

如果你发现本文对你有所帮助,如果你认为其他人也可能受益,请把它分享出去。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 2017年6月22日一.常用写法(子页面回调给父页面)1.子类cell视图 2.父类试图 2017年6月6日一.A...
    wangyu2488阅读 1,584评论 0 0
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,917评论 0 38
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,860评论 2 9
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,820评论 0 10
  • 文/珏安如梦 许久未更新文字,许久未清空思绪,也许久没认真地想念。 七点醒来,翻来覆去,手臂有点酸痛,似乎是昨夜酒...
    珏安如梦阅读 223评论 1 9