realizar segue con identificador no funcionará en swift 2

He estado usando este código para realizar una segue personalizada cuando un usuario inicia session en la aplicación:

dispatch_async(dispatch_get_main_queue()){ self.performSegueWithIdentifier("showSTPS", sender: self) } 

Actualmente tengo este código en mi perpareForSegue (no estoy totalmente seguro si lo necesito)

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?){ if "showSTPS" == segue.identifier { } } 

Y me sale el siguiente error cada vez que trato de realizar la segue:

2015-08-31 11: 56: 28.998 ICEFLO [3858: 651041] *** Terminación de la aplicación debido a la exception no detectada 'NSInternalInconsistencyException', motivo: 'No se pudo realizar segue con identificador' showSTPS '. Un segue debe tener un performHandler o debe anular -performar. '

Cualquier sugerencia sobre qué hacer sería muy apreciada – tenga en count que esto es para swift2 / ios9

-Yogui

Asegúrese de que en su storyboard el tipo segue no esté configurado a la medida. Si lo configura como personalizado, deberá proporcionar su propia class de segue personalizada.

Versión Swift:

 class CustomSegue: UIStoryboardSegue { override func perform() { let src = self.sourceViewController let dst = self.destinationViewController src.navigationController?.pushViewController(dst, animated: true) } } 

Si su segue está configurado en "Personalizado", debe anular el método de ejecución . Puedes seguir este ejemplo .

Básicamente crea una class que henetworkinge de UIStoryboardSegue, así:

MyCustomSegue.h

 @interface MyCustomSegue : UIStoryboardSegue @end 

MyCustomSegue.m

 @implementation MyCustomSegue - (void) perform { UIViewController *src = (UIViewController *) self.sourceViewController; UIViewController *dst = (UIViewController *) self.destinationViewController; [src.navigationController pushViewController:dst animated:YES]; } @end 

Creo que este código podría funcionar para usted.

NO llames super …

 class CustomSegue: UIStoryboardSegue { override func perform() { // super.perform() NOOO or crash! let src = self.sourceViewController let dst = self.destinationViewController src.navigationController?.pushViewController(dst, animated: true) } }