block

来源:互联网 发布:linux安装service命令 编辑:程序博客网 时间:2024/06/07 01:26

自定义block类型

block与struct一样,都是自定义的类型。申明格式为“returnType(^typeName)(argType argName,…)”。可以与typedef
连用,方便之后定义block对象,也可以在申明的同时定义block对象,这种情况下,可以省略typeName,即申明
匿名block类型“returnType(^)(argType argName,…)”。

block字面量

^returnType(argType argName,…){//do something…}
returnType可以省略,即^(argType argName,…){//do something…}
当不需要参数时,可以写成^{//do something…}

注意

block对象可以以只读的方式使用在block之前定义的局部变量,如果需要修改局部变量,则需要为局部变量加
上“__block”关键字修饰。block中引用的局部变量都会加上一个强引用,可以使用“__weak”关键字使其成为弱引
用。常见用法是“__weak MyClass *weakSelf = self;”。

0 0
原创粉丝点击