RACTestExampleScheduler.m 858 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //
  2. // RACTestExampleScheduler.m
  3. // ReactiveCocoa
  4. //
  5. // Created by Josh Abernathy on 6/7/13.
  6. // Copyright (c) 2013 GitHub, Inc. All rights reserved.
  7. //
  8. #import "RACTestExampleScheduler.h"
  9. #import "RACQueueScheduler+Subclass.h"
  10. @implementation RACTestExampleScheduler
  11. #pragma mark Lifecycle
  12. - (id)initWithQueue:(dispatch_queue_t)queue {
  13. return [super initWithName:nil queue:queue];
  14. }
  15. #pragma mark RACScheduler
  16. - (RACDisposable *)schedule:(void (^)(void))block {
  17. dispatch_async(self.queue, ^{
  18. [self performAsCurrentScheduler:block];
  19. });
  20. return nil;
  21. }
  22. - (RACDisposable *)after:(NSDate *)date schedule:(void (^)(void))block {
  23. dispatch_time_t when = dispatch_time(DISPATCH_TIME_NOW, (int64_t)([date timeIntervalSinceNow] * NSEC_PER_SEC));
  24. dispatch_after(when, self.queue, ^{
  25. [self performAsCurrentScheduler:block];
  26. });
  27. return nil;
  28. }
  29. @end