OC是对C语言的扩展,block的实现是基于指针和函数指针。
从计算语言的发展,最早的goto,高级语言的指针,到面向对象语言的block,从机器的思维,一步步接近人的思维,以方便开发人员更为高效、直接的描述出现现实的逻辑(需求)
使用实例
cocoaTouch框架下动画效果的Block的调用
使用typed声明block
typedef void(^didFinishBlock)(NSObject *ob);
这就声明了一个didFinishBlock类型的block,然后便可用@property(nonatomic,copy)didFinishBlock finishBlock;声明一个block对象,注意对象属性设置为copy,接到block参数时,便会自动复制一份。
_block是一种特殊类型,
使用该关键字声明的局部变量,可以被block所改变,并且其在原函数中的值会被改变。