Block 的声明方式
原文链接:How Do I Declare A Block in Objective-C?
局部变量
objcreturnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};
属性
objc@property (nonatomic, copy, nullability) returnType (^blockName)(parameterTypes);
方法参数
objc- (void)someMethodThatTakesABlock:(returnType (^nullability)(parameterTypes))blockName;
方法调用的参数
objc[someObject someMethodThatTakesABlock:^returnType (parameters) {...}];
C 函数的参数
objcvoid SomeFunctionThatTakesABlock(returnType (^blockName)(parameterTypes));
类型定义
objctypedef returnType (^TypeName)(parameterTypes); TypeName blockName = ^returnType(parameters) {...};