That symbol is used to declare block.
For more information read here Blocks Programming Topics
Some more info:
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.
You can use blocks to compose function expressions that can be passed
to API, optionally stored, and used by multiple threads. Blocks are
particular useful as a callback because the block carries both the
code to be executed on callback and the data needed during that
execution.