First, the basic concept
Blocks: Block syntax, essentially anonymous functions (functions without names), Apple's recommended type, high efficiency, to encapsulate and save code, block can be executed at any time.
There is no post-extended version of the Block,c language in standard C, adding anonymous functions, C + +, JS, Swift and other languages, such as syntax, called closures.
The block syntax is similar to a function pointer.
Block and Function Similarity: (1) can save Code (2) has a return value (3) The physical parameter (4) is called the same way.
Block is an anonymous function, it is OC for the implementation of closures, in the block we can hold or reference local variables, while using block you can pass an operation as a parameter (is not remembered the C language function pointer).
"Objective-c Basics-12" OC Syntax Features-block syntax