iOS block=写法总结(如block的参数是一个block)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS block=写法总结(如block的参数是一个block)相关的知识,希望对你有一定的参考价值。

参考技术A 一、block作为属性声明

1、typedef声明block名称

typedef id(^Block_Name)(id arg1, id arg2);

@property (nonatomic, copy) Block_Name block;

2、直接书写

@property (nonatomic, copy) id (^Block_Name)(id arg1, id arg2);

注:这里的第一个加粗的id不要添加括号,会报错

3、属性为block并且block的参数为block类型的,请使用typedef声明表示参数,如下:

@property (nonatomic, copy) id(^Block_Name)(Block_Name arg1, Block_Name arg2);

二、block作为方法中的参数(!这个要和作为block中的参数作区别)

- (void)method:(id(^)(id arg1,id arg2))argBlock;

这里只要注意block名前面需要用()把 id(^)(id arg1, id arg2)包住即可,同样第一个id不要加括号

以上是关于iOS block=写法总结(如block的参数是一个block)的主要内容,如果未能解决你的问题,请参考以下文章

iOS-Block总结 && 全面解析逆向传值

iOS开发学习48 OC的lambda block

iOS开发学习48 OC的lambda block

关于Block的理解

iOS底层原理总结 - 探寻block的本质

iOS:用Block写一个链式编程