The segue runs but the app crashes with the above error. Why do I get this no segue with identifier
message? I defined the segue Identifier.
Here is the viewDidAppear method
- (void)viewDidAppear:(BOOL)animated
{
[self performSegueWithIdentifier:@"showAlerting" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showAlerting"])
{
NSLog(@"Logging showAlerting");
}
}
I got these log messages
2015-03-28 20:04:33.025 xxxx[3684:741007] Logging showAlerting
2015-03-28 20:04:33.046 xxxx[3684:741007] xxxxxxxx,,
2015-03-28 20:04:33.111 xxxx[3684:741007] lat: xxx
2015-03-28 20:04:33.112 xxxx[3684:741007] lon: xxx
2015-03-28 20:04:33.798 xxxx[3684:741007] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<ViewController: 0x17d38930>) has no segue with identifier 'showAlerting''
*** First throw call stack:
(0x2c1a15a7 0x39d87c77 0x2f9830df 0xebde7 0x2f6bb37b 0x2f6bb837 0x2f9701bb 0x2fd00e89 0x2f9726ff 0x2f7b5baf 0x2f7b5a4f 0x2f7b5525 0x2f6d9201 0x2f6d9117 0x2f0d363b 0x276187 0x279e9d 0x2c167891 0x2c165fb1 0x2c0b2b51 0x2c0b2963 0x335f11a9 0x2f704c91 0xea5f5 0x3a330aaf)
libc++abi.dylib: terminating with uncaught exception of type NSException
The problem is that you have two instances of the same class in the storyboard; one with the segue, and one without. The controller that's being segued to needs to be a different class than the one you're segueing from.
Your view controller is not completely loaded when you are trying to access its segue. So call super and complete the load process and then call prepareForSegue.