1.寫在方法裡作為局部變量
returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};
- returnType是傳回值
- blockName是block名稱
- parameterTypes是參數
2.作為類的屬性
@property (nonatomic, copy) returnType (^blockName)(parameterTypes)
- returnType是傳回值
- blockName是block名稱
- parameterTypes是參數
3.作為方法參數
- (void)someMethodThatTakesABlock:(returnType (^)(parameterTypes))blockName;
- returnType是傳回值
- blockName是block名稱
- parameterTypes是參數
4.調用方法是傳入的參數
[self someMethodThatTakesABlock:^returnType (parameters) {...}];
- returnType是傳回值
- blockName是block名稱
- parameterTypes是參數
5.自定義Block類型
typedef returnType (^TypeName)(parameterTypes);
TypeName blockName = ^returnType(parameters) {...};
- returnType是傳回值
- blockName是block名稱
- parameterTypes是參數