Skip to content

Instantly share code, notes, and snippets.

@felixflores
Last active December 9, 2015 22:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save felixflores/4334797 to your computer and use it in GitHub Desktop.
Save felixflores/4334797 to your computer and use it in GitHub Desktop.
A convenient category to make segue preparation a little nicer.
//
// UIViewController+Segue.h
// TimeCapsule
//
// Created by Felix Flores on 12/19/12.
// Copyright (c) 2012 felixflor.es. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface UIViewController (Segue)
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;
- (void)prepareFor__SegueIdentifier__Segue:(UIStoryboardSegue *)segue sender:(id)sender;
@end
//
// UIViewController+Segue.m
// TimeCapsule
//
// Created by Felix Flores on 12/19/12.
// Copyright (c) 2012 felixflor.es. All rights reserved.
//
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
#import "UIViewController+Segue.h"
@implementation UIViewController (Segue)
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSString *segueIdentifier = [segue identifier];
NSString *selectorString = [NSString stringWithFormat:@"prepareFor%@Segue:sender:", segueIdentifier];
SEL selector = NSSelectorFromString(selectorString);
if ([self respondsToSelector:selector]) {
[self performSelector:selector withObject:segue withObject:sender];
}
}
- (void)prepareFor__SegueIdentifier__Segue:(UIStoryboardSegue *)segue sender:(id)sender
{
// This is the method that you will need to override
}
@end
#pragma clang diagnostic pop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment