123456789101112131415161718192021222324252627282930313233 |
- #import "GRXWriteable.h"
- @implementation GRXWriteable {
- GRXValueHandler _valueHandler;
- GRXCompletionHandler _completionHandler;
- }
- - (instancetype)init {
- return [self initWithValueHandler:nil completionHandler:nil];
- }
- // Designated initializer
- - (instancetype)initWithValueHandler:(GRXValueHandler)valueHandler
- completionHandler:(GRXCompletionHandler)completionHandler {
- if ((self = [super init])) {
- _valueHandler = valueHandler;
- _completionHandler = completionHandler;
- }
- return self;
- }
- - (void)didReceiveValue:(id)value {
- if (_valueHandler) {
- _valueHandler(value);
- }
- }
- - (void)didFinishWithError:(NSError *)errorOrNil {
- if (_completionHandler) {
- _completionHandler(errorOrNil);
- }
- }
- @end
|