James Traimory James Traimory - 1 year ago 129
Objective-C Question

NSInvalidArgumentException - receiver has no segue with identifier

I have been trying everything for hours, and nothing's worked. I am trying to segue between two view controllers, from one tableViewController to another tableViewController. The segue is hooked up to the top level view, not the tableviewcell. The identifier that was set in Xcode is identical to the one used in the code (copy and pasted). It was working fine last night, but now i can't seem to get it to segue without crashing.

here are the methods in which the segue is called

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

self.photoList = [FlickrFetcher photosInPlace:[self.topPlacesList objectAtIndex:indexPath.row] maxResults:50];
NSLog(@"photolist %@", self.photoList);

NSLog(@"here");

[self performSegueWithIdentifier:@"segue1" sender:self];
NSLog(@"here");
}


-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"segue1"])
{
PhotosTableViewController *photosTVC = segue.destinationViewController;
photosTVC.photoList = self.photoList;
}
}


here is the error report

2012-08-08 15:28:39.093 Top Places[512:f803] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (PlacesTableViewController: 0x6887ff0) has no segue with identifier 'segue1''
*
First throw call stack:
(0x13c0052 0x1551d0a 0xde24b 0x3efd 0xa771d 0xa7952 0x92f86d 0x1394966 0x1394407 0x12f77c0 0x12f6db4 0x12f6ccb 0x12a9879 0x12a993e 0x17a9b 0x2778 0x26d5)
terminate called throwing an exception

here is a screenshot of the storyboard

Answer Source

i fixed it! 1. make sure the right storyboard is selected in Xcode(if you rename the storyboard change it in the project summary). then delete the app on the simulator and restart

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download