Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #import <UIKit/UIKit.h>
- typedef void (^MSTDismissCallback)(void);
- @protocol MSTDismissWithCallbackProtocol <NSObject>
- @optional
- @property (nonatomic, copy) MSTDismissCallback dismissCallback;
- - (void) injectCallback:(MSTDismissCallback) dismissCallback;
- - (void) dismissViewControllerWithCallback;
- @end
- @interface UIViewController (DismissCallback) <MSTDismissWithCallbackProtocol>
- @property (nonatomic, copy) MSTDismissCallback dismissCallback;
- - (void) injectCallback:(MSTDismissCallback) dismissCallback;
- - (void) dismissViewControllerWithCallback;
- @end
- @implementation UIViewController (DismissCallback)
- @dynamic dismissCallback;
- - (void) injectCallback:(MSTDismissCallback) dismissCallback {
- self.dismissCallback = dismissCallback;
- }
- - (void) dismissViewControllerWithCallback {
- od_weakify(self)
- [self dismissViewControllerAnimated:true completion:^{
- od_strongify(self)
- if (self.dismissCallback != nil) {
- self.dismissCallback();
- }
- }];
- }
- @end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement