To check whether the segue existed or not, I simply surrounded the call with a try-and-catch block. Please see the code example below:
@try {
[self performSegueWithIdentifier:[dictionary valueForKey:@"segue"] sender:self];
}
@catch (NSException *exception) {
NSLog(@"Segue not found: %@", exception);
}
Hope this helps.