项目介绍:
块(block)是添加到C、Objective-C和C++的语言级功能。它允许你创建不同的代码段,可以像传值一样传递给方法或函数。块是Objective-C对象,也就是说它们可以被添加到像NSArray和NSDictionary这样的集合中,其还具有从封闭范围捕获值的能力。
块是一个独立的代码片段,始终存在于另一个编程结构的范围内,如在一个方法的主体。块可以捕获块外变量的值,但外部对于块内发生的事情一无所知。在块内不能直接修改局部变量的值,如需修改需用__block修饰局部变量。
源码地址:https://github.com/pro648/BasicDemos-iOS/tree/master/Block
详细介绍:https://github.com/pro648/tips/wiki/Block的用法