GRXWriteable.m 747 B

123456789101112131415161718192021222324252627282930313233
  1. #import "GRXWriteable.h"
  2. @implementation GRXWriteable {
  3. GRXValueHandler _valueHandler;
  4. GRXCompletionHandler _completionHandler;
  5. }
  6. - (instancetype)init {
  7. return [self initWithValueHandler:nil completionHandler:nil];
  8. }
  9. // Designated initializer
  10. - (instancetype)initWithValueHandler:(GRXValueHandler)valueHandler
  11. completionHandler:(GRXCompletionHandler)completionHandler {
  12. if ((self = [super init])) {
  13. _valueHandler = valueHandler;
  14. _completionHandler = completionHandler;
  15. }
  16. return self;
  17. }
  18. - (void)didReceiveValue:(id)value {
  19. if (_valueHandler) {
  20. _valueHandler(value);
  21. }
  22. }
  23. - (void)didFinishWithError:(NSError *)errorOrNil {
  24. if (_completionHandler) {
  25. _completionHandler(errorOrNil);
  26. }
  27. }
  28. @end