Skip to content

Instantly share code, notes, and snippets.

@vitoziv
Last active January 1, 2016 15:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vitoziv/8167464 to your computer and use it in GitHub Desktop.
Save vitoziv/8167464 to your computer and use it in GitHub Desktop.
How Do I Declare A Block in Objective-C?

How Do I Declare A Block in Objective-C?

As a local variable:

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

As a property:

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

As a method parameter:

- (void)someMethodThatTakesABlock:(returnType (^)(parameterTypes))blockName {...}

As an argument to a method call:

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

As a typedef:

typedef returnType (^TypeName)(parameterTypes);
TypeName blockName = ^(parameters) {...}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment