在OC中block都有哪些用法

这篇文章在只是列了在平时代码中block的写作方式, 仅仅是作为备忘

  • 作为局部变量
returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};
  • 作为属性
@property (nonatomic, copy, nullability) returnType (^blockName)(parameterTypes);
  • 作为方法变量
- (void)someMethodThatTakesABlock:(returnType (^nullability)(parameterTypes))blockName;
  • 作为方法参数
[someObject someMethodThatTakesABlock:^returnType (parameters) {...}];
  • typedef
    • 使用typedef可以让block在代码中跟易读
typedef returnType (^TypeName)(parameterTypes);
TypeName blockName = ^returnType(parameters) {...};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Block基础回顾 1.什么是Block? 带有局部变量的匿名函数(名字不重要,知道怎么用就行),差不多就与C语言...
    Bugfix阅读 6,801评论 5 61
  • Block使用场景,可以在两个界面的传值,也可以对代码封装作为参数的传递等。用过GCD就知道Block的精妙之处。...
    Coder_JMicheal阅读 739评论 2 1
  • iOS代码块Block 概述 代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,B...
    smile刺客阅读 2,375评论 2 26
  • 序言:翻阅资料,学习,探究,总结,借鉴,谢谢探路者,我只是个搬运工。参考、转发资料:http://www.cnbl...
    Init_ZSJ阅读 910评论 0 1
  • 2.1 Blcoks概要 2.1.1 什么是Blocks Blocks是C语言的扩充功能——“带有自动变量(即局部...
    SkyMing一C阅读 2,396评论 6 18