How Do I Declare A Block in Objective-C?
```
这是我的代码
```
As a local variable:
```objc
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 parameter to a C function:
void SomeFunctionThatTakesABlock(returnType (^blockName)(parameterTypes));
As a typedef:
typedef returnType (^TypeName)(parameterTypes);
TypeName blockName = ^returnType(parameters) {...};
网友评论