NSObject+CommonBlock.h 994 B

1234567891011121314151617181920212223242526272829303132333435363738
  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. typedef void (^CommonVoidBlock)();
  10. typedef void (^CommonBlock)(id selfPtr);
  11. typedef void (^CommonCompletionBlock)(id selfPtr, BOOL isFinished);
  12. typedef void (^CommonFinishBlock)(BOOL isFinished);
  13. @interface NSObject (CommonBlock)
  14. - (void)excuteBlock:(CommonBlock)block;
  15. - (void)performBlock:(CommonBlock)block;
  16. //- (void)cancelBlock:(CommonBlock)block;
  17. - (void)performBlock:(CommonBlock)block afterDelay:(NSTimeInterval)delay;
  18. - (void)excuteCompletion:(CommonCompletionBlock)block withFinished:(NSNumber *)finished;
  19. - (void)performCompletion:(CommonCompletionBlock)block withFinished:(BOOL)finished;
  20. // 并发执行tasks里的作务,等tasks执行行完毕,回调到completion
  21. - (void)asynExecuteCompletion:(CommonBlock)completion tasks:(CommonBlock)task, ... NS_REQUIRES_NIL_TERMINATION;
  22. @end