J'ai un contrôleur de navigation qui a un lien de séparation entre eux appelé "addSegue". Lorsque je clique sur la cellule tableView
alors que l'application se bloque et que le message d'erreur suivant s'affiche:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<MSAddFriendsViewController: 0x98cc340>) has no segue with identifier 'addSegue'
Je ne pense pas avoir de problèmes avec mon code. Voici la méthode dans laquelle j'ai la ligne showSegueWithIdentifier
:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSMutableSet *selectedUsers = [NSMutableSet set];
[self.tableView deselectRowAtIndexPath:indexPath animated:NO];
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
PFRelation *friendsRelation = [self.currentUser relationforKey:@"friendsRelation"];
PFUser *user = [self.allUsers objectAtIndex:indexPath.row];
[friendsRelation addObject:user];
[self.currentUser saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (error) {
NSLog(@"Error %@ %@", error, [error userInfo]);
} }];
[self performSegueWithIdentifier:@"addSegue" sender:self];
}
J'ai eu ce même problème et en fait, mon problème était que j'appelais
WRONG: [self.navigationController performSegueWithIdentifier:@"ShowVerify" sender:self];
au lieu de
CORRECT: [self performSegueWithIdentifier:@"ShowVerify" sender:self];
alors vérifiez que vous appelez la bonne méthode performSegueWithIdentifier :)
use segue identifier in Push Method and give the proper connection
si vous utilisez Identifier
, appelez cette ligne si vous avez besoin
[self performSegueWithIdentifier:@"identifierName" sender:self];
Swift 2.X
self.performSegueWithIdentifier("identifierName", sender: self)
Swift 3
self.performSegue(withIdentifier: "identifierName", sender: self)
En ce qui concerne le nouvel écran, vous avez ajouté cela. Dans cet écran, lorsque vous avez terminé et que vous souhaitez le supprimer, il vous suffit:
self.dismiss(animated: false, completion: nil)
Difficile à dire avec certitude, mais d'autres personnes ont eu des problèmes similaires:
Dans cette question , le demandeur a instancié le scénarimage avec init
au lieu de instantiateViewControllerWithIdentifier
afin que la séquence Ne soit pas correctement configurée.
Dans cette question , c’était simplement quelque chose de bizarre se déroulant en interne avec xcode et le simulateur, et exécuter Produit-> Nettoyer Aidait.
Et bien sûr, il est possible que le nom de la division dans le code ne corresponde pas à celui de Storybord, mais je suppose que vous l'avez déjà vérifié à maintes reprises!
Vérifiez si UIKIT est ou non dans le fichier d'en-tête. Sans le savoir, j’ai créé VC une sous-classe de View Controller.