This document summarizes key characteristics of blocks in Objective-C, including how blocks are copied to the heap, how to use __block to modify values from within a block, how to avoid strong reference cycles when using blocks that reference self, and how to recursively call blocks.