Local variable:

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

Property:

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

Method parameter:

- (void)methodWithBlock:(returnType (^nullability)(parameterTypes))blockName;

Pass as argument:

[someObject methodWithBlock:^returnType (parameters) {...}];

Typedef:

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