2013-12-21 11 views
11

Ich habe einen Navigationscontroller, der eine Verknüpfung zwischen ihnen hat, die "addSegue" genannt wird. Wenn ich aber die App stürzt auf der tableView Zelle klicken und ich bekomme den Fehler unten:'Empfänger (<ViewController>) hat keinen Übergang mit Bezeichner' addSegue '

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<MSAddFriendsViewController: 0x98cc340>) has no segue with identifier 'addSegue' 

glaube ich nicht, dass ich Probleme mit meinem Code haben. Hier ist das Verfahren, in dem ich die Linie 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]; 

} 

Here is a picture of my storyboard

Here is an updated picture of my storyboard

+0

Überprüfen Sie die Segue-Kennung, die Sie im Storyboard angegeben haben. –

+0

Reinigen Sie das Projekt und versuchen Sie es erneut. –

+0

Sie sollten das Bild Ihres Storyboards auf einer Website veröffentlichen, die keine Erlaubnis für Personen erfordert, sie zu sehen. – rdelmar

Antwort

6

Fest sicher zu sagen, aber einige andere Leute haben ähnliche Probleme hatten:

  • In this question instanziierte der Fragesteller das Storyboard mit init anstelle von instantiateViewControllerWithIdentifier, so dass das Segment nicht richtig eingerichtet wurde.

  • In this question, es war nur etwas seltsam auf gehen intern mit Xcode und dem Simulator und läuft Product-> Sauber geholfen.

  • Und natürlich ist es möglich, dass der Name des Segments im Code nicht mit dem Namen des Segments auf dem Storybord übereinstimmt, aber ich schätze, Sie haben das schon oft überprüft!

11

enter image description here

use segue identifier in Push Method and give the proper connection 

wenn Sie Identifier verwenden, dann diese Zeile nennen, wo u

[self performSegueWithIdentifier:@"identifierName" sender:self]; 

Swift 2.X

self.performSegueWithIdentifier("identifierName", sender: self) 
benötigen

Swift 3

self.performSegue(withIdentifier: "identifierName", sender: self) 

den neuen Bildschirm Im Hinblick auf Sie auf diese Weise hinzugefügt haben. In diesem Bildschirm, wenn Sie fertig sind und es entfernen wollen, dann ist es einfach:

self.dismiss(animated: false, completion: nil) 
+0

Wie übergebe ich den Wert zum nächsten View-Controller mit dieser Methode? – Aniruddha

+0

@Aniruddha - gestern habe ich bereits für Ihre Frage geantwortet, wenn Sie nicht ich gelöst Problem, können Sie senden Sie Ihr Projekt in E-Mail-Adresse [email protected] –

+0

Ich benutze Storyboard. Ich habe 2 Klassen A und B. Von A möchte ich den Wert an B übergeben. So habe ich es gemacht, aber es funktioniert nicht. 'B * bb = [[Bzuordnung] init]; b.strName = @ "Abcd"; [self performSegueWithIdentifier: @ "segueName" sender: nil]; '. Bitte beachten Sie, dass ich Ihnen das Projekt nicht senden kann. – Aniruddha

16

ich das gleiche Problem hatte und eigentlich mein Problem war, dass ich

WRONG: [self.navigationController performSegueWithIdentifier:@"ShowVerify" sender:self]; 

statt

rief
CORRECT: [self performSegueWithIdentifier:@"ShowVerify" sender:self]; 

so überprüfen, ob Sie richtig performSegueWithIdentifier Methode rufen :)

+0

netter, das war der Fall für mich –

+0

Danke, ich hatte umgekehrte Fall. –

0

prüfen, ob UIKit b oder nicht in der Header-Datei. Ich machte unwissentlich neue VC eine Unterklasse von View Controller.

Verwandte Themen