The guide at http://www.objc.io/issues/13-architecture/viper/#using-viper-to-build-modules was highly instructive and while none of this is groundbreaking, I thought it was well-done.

The author suggested that the glue between layers ought to be the ReactiveCocoa library. I downloaded this via CocoaPods but I am bit stuck. I cannot find an example of ReactiveCocoa + the VIPER pattern.

My question: should I a) make sure to not expose the ReactiveCocoa classes in my interfaces, b) expose them because of their relevance, or c) not worry about it?

Compare a and b examples of my DetailsViewInteractorInputOutput.h

/* Eg A */

@protocol DetailsViewInteractorInput<NSObject>

- (void)requestDetails;

@end

/* Eg B */

@protocol DetailsViewInteractorInput<NSObject>

- (RACSignal *)requestDetails;

@end

/* Eg A */

@protocol DetailsViewInteractorOutput<NSObject>

- (void)foundDetails:(MyDetails *)details;

@end

/* Eg B */

@protocol DetailsViewInteractorOutput<NSObject>

- (RACSignal *)foundDetails;

@end
0

There are 0 answers