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

比如说一个block的参数列表是一个UIView,返回值是个CGFloatblock名称是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

 


posted on 2017-04-18 16:39  ximenchuixie  阅读(177)  评论(0编辑  收藏  举报