Block,代码块,^符号是block的语法标记。

比如说,一个block的参数列表是一个UIView,返回值是个CGFloat,block名称是testBlock

可以定义为  CGFloat (^testBlock) (UIView* view);  //^符号将testBlock声明为一个block对象

另外一种定义方法是用typedef,

例如定义  typedef CGFloat(^MyBlock)(UIView* view)

MyBlock testBlock;

上述block的类型为 CGFloat(^)(UIView*)

看block类型分两步,第一看参数列表,第二看返回值

给block赋值:

例如给testBlock赋值,

testBlock = ^CGFloat(UIView*view) {

return view.frame.size.width;

}

或者

testBlock = ^(UIView *view){

return view.frame.size.width;

}

返回值可以不写,但如果有返回值的话block函数体中一定要写return语句,不写return语句的话默认返回值是void

最新文章

  1. 微信小程序之触控事件(四)
  2. JS 面向对象随笔
  3. Sort Characters By Frequency
  4. 触摸屏测试:Tslib
  5. iOS开发多线程篇—NSOperation简单介绍
  6. Python网页解析
  7. Git - Download for Linux and Unix
  8. hdu 1599 find the mincost route
  9. json恶补
  10. Linux centOS的vm虚拟机配置详细 中文版
  11. 基于Dapper的分页实现,支持筛选,排序,结果集总数,非存储过程
  12. webpack从0开始---(二)
  13. jdbc访问pipelinedb
  14. Python sqlalchemy orm 多对多外键关联
  15. Centos 7 搭建DNS笔记
  16. C++的静态联编和动态联编
  17. [error] 2230#2230: *84 client intended to send too large body: 1711341 bytes
  18. php文档注释提取工具phpdocumentor的使用
  19. linux环境中,如何使用tar来创建压缩包?解压缩?
  20. DB2自增长ID

热门文章

  1. AWS机器学习初探(1):Comprehend - 自然语言处理服务
  2. linux采集CPU温度并上传数据到云平台判断是否需要beep
  3. python打包--pyinstaller打包报错
  4. openstack处理booting from hard disk
  5. Jmeter(二十九)Jmeter-Question之“Ant集成报告模板优化”
  6. [UE4]在蓝图中设置图片
  7. centos7开启端口(永久--permanent)
  8. 初始Golang
  9. C#语言经典例题
  10. Redis Server installation FAQs