Skip to content

Instantly share code, notes, and snippets.

@icodebuster
Last active December 28, 2015 23:09
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 icodebuster/7577146 to your computer and use it in GitHub Desktop.
Save icodebuster/7577146 to your computer and use it in GitHub Desktop.
How Do I Declare A Block in Objective-C? http://fuckingblocksyntax.com/
How Do I Declare A Block in Objective-C?
http://fuckingblocksyntax.com/
https://developer.apple.com/library/ios/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/WorkingwithBlocks/WorkingwithBlocks.html
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