Skip to content

Instantly share code, notes, and snippets.

View avi-midtown's full-sized avatar

Avi Mastov avi-midtown

View GitHub Profile
@dustin-graham
dustin-graham / LifterDeviceConnector.m
Created April 9, 2014 19:35
Combining to signals created from delegate callbacks where one is a success message and another is a failure. convert the failure into an error signal
RACSignal *connectionSignal = [self rac_signalForSelector:@selector(centralManager:didConnectPeripheral:) fromProtocol:@protocol(CBCentralManagerDelegate)];
RACSignal *connectionFailureSignal = [[self rac_signalForSelector:@selector(centralManager:didFailToConnectPeripheral:error:) fromProtocol:@protocol(CBCentralManagerDelegate)] flattenMap:^RACStream *(RACTuple *tuple) {
return [RACSignal error:tuple.third];
}];
RACSignal *completeConnectionSignal = [[RACSignal merge:@[connectionSignal,connectionFailureSignal]] catch:^RACSignal *(NSError *error) {
//handle the connection failure?
}];