Syntax

returnType (^blockName)(parameterTypes) = ^returnType(parameters) {…};

@property (nonatomic, copy) returnType (^blockName)(parameterTypes);

typedef returnType (^TypeName)(parameterTypes);

TypeName blockName = ^returnType(parameters) {...};