As a local variable:
returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};
As a property:
@property (nonatomic, copy,nullability)returnType (^blockName) (parameterTypes);
As a method parameter:
- (void)someMethodThatTakesABlock:(returnType(^nullability)(parameterTypes))blockName;
As an argument to a method call:
[someObject someMethodThatTakesABlock:^returnType(parameters) {...}];
As a typedef:
typedef returnType(^TypeName)(parameterTypes);
TypeName blockName = ^returnType(parameters) {...};
网友评论