天天看點

iOS開發 Block聲明方式

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是參數