Skip to content

Instantly share code, notes, and snippets.

@bobspryn
Created March 4, 2014 01:23
Show Gist options
  • Select an option

  • Save bobspryn/9338422 to your computer and use it in GitHub Desktop.

Select an option

Save bobspryn/9338422 to your computer and use it in GitHub Desktop.
ReactiveCocoa enabled MFMessageComposeViewController
//
// MFMessageComposeViewController+RAC.m
// Three Cents
//
// Created by Bob Spryn on 3/3/14.
// Copyright (c) 2014 Three Cents, Inc. All rights reserved.
//
#import "MFMessageComposeViewController+RAC.h"
#import <objc/objc-runtime.h>
@interface MFMessageComposeViewController() <MFMessageComposeViewControllerDelegate>
@end
@implementation MFMessageComposeViewController (RAC)
- (RACSignal *) rac_messageSignal {
self.messageComposeDelegate = self;
RACSignal *signal = objc_getAssociatedObject(self, _cmd);
if (signal != nil) return signal;
/* Create signal from selector */
signal = [[self rac_signalForSelector:@selector(messageComposeViewController:didFinishWithResult:)
fromProtocol:@protocol(MFMessageComposeViewControllerDelegate)] map:^id(RACTuple *tuple) {
return tuple.second;
}];
objc_setAssociatedObject(self, _cmd, signal, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
return signal;
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment