NSObject+CommonBlock.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //
  2. // NSObject+CommonBlock.h
  3. // CommonLibrary
  4. //
  5. // Created by Alexi on 3/11/14.
  6. // Copyright (c) 2014 CommonLibrary. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "AppBlockModel.h"
  10. // 错误码定义
  11. #import "BGErrorCodeMacro.h"
  12. // 通用的没有返回参数回调
  13. typedef void (^FWVoidBlock)();
  14. // 通用回调
  15. typedef void (^CommonBlock)(id selfPtr);
  16. // 通用的完成回调
  17. typedef void (^CommonCompletionBlock)(id selfPtr, BOOL isFinished);
  18. // 通用的错误回调
  19. typedef void (^FWErrorBlock)(int errId, NSString *errMsg);
  20. // 通用的没有返回参数的错误回调
  21. typedef void (^FWVoidErrorBlock)();
  22. // 通用的成功回调
  23. typedef void (^FWIsSuccBlock)(BOOL isSucc);
  24. // 通用的完成回调
  25. typedef void (^FWIsFinishedBlock)(BOOL isFinished);
  26. // 可扩展的block
  27. typedef void (^AppCommonBlock)(AppBlockModel *blockModel);
  28. @interface NSObject (CommonBlock)
  29. - (void)excuteBlock:(CommonBlock)block;
  30. - (void)performBlock:(CommonBlock)block;
  31. //- (void)cancelBlock:(CommonBlock)block;
  32. - (void)performBlock:(CommonBlock)block afterDelay:(NSTimeInterval)delay;
  33. - (void)excuteCompletion:(CommonCompletionBlock)block withFinished:(NSNumber *)finished;
  34. - (void)performCompletion:(CommonCompletionBlock)block withFinished:(BOOL)finished;
  35. // 并发执行tasks里的作务,等tasks执行行完毕,回调到completion
  36. - (void)asynExecuteCompletion:(CommonBlock)completion tasks:(CommonBlock)task, ... NS_REQUIRES_NIL_TERMINATION;
  37. @end