前言
整理一些概念
环境
Xcode 8.2.1
macOS Sierra 10.12.3
是什么
Block objects are a C-level syntactic and runtime feature. They are similar to standard C functions, but in addition to executable code they may also contain variable bindings to automatic (stack) or managed (heap) memory. A block can therefore maintain a set of state (data) that it can use to impact behavior when executed.