Comment faire pour revenir à la racine de la vue-contrôleur, mais ensuite pousser à un point de vue différent?

Je suis en train d'écrire une application simple qui dispose de 3 contrôleurs de vue. La racine-vue-contrôleur est un item listing, de la table de base de la vue. Hors de ce point de vue contrôleur, je pousse deux point de vue différent des contrôleurs basés sur une interaction utilisateur - un create item - vue-contrôleur ou un view item - vue-contrôleur.

Donc, le storyboard enchaîne suffit de regarder comme un V, ou quelque chose.

Sur mon create item - vue-contrôleur, je tiens à revenir à la vue racine contrôleur lorsque l'utilisateur crée un nouvel élément, mais alors de pousser à l' view item contrôleur afin que je puisse regarder le nouvellement créé élément.

Je n'arrive pas à obtenir que cela fonctionne. Il est assez facile de revenir à la racine-vue-contrôleur, mais je suis incapable de pousser que view item contrôleur.

Des idées? Je l'ai collé mon code, ci-dessous. Le menu fonctionne, mais le nouveau point de vue n'apparaît jamais.

- (void) onSave:(id)sender {

    CLLocation *currentLocation = [[LocationHelper sharedInstance] currentLocation];

    //format the thread object dictionary
    NSArray* location = @[ @(currentLocation.coordinate.latitude), @(currentLocation.coordinate.longitude) ];
    NSDictionary* thread = @{ @"title": _titleField.text, @"text": _textField.text, @"author": @"mustached-bear", @"location": location };

    //send the new thread to the api server
    [[DerpHipsterAPIClient sharedClient] postPath:@"/api/thread"
                                       parameters:thread
                                          success:^(AFHTTPRequestOperation *operation, id responseObject) {

                                              //init thread object
                                              Thread *thread = [[Thread alloc] initWithDictionary:responseObject];

                                              //init view thread controller
                                              ThreadViewController *viewThreadController = [[ThreadViewController alloc] init];
                                              viewThreadController.thread = thread;

                                              [self.navigationController popToRootViewControllerAnimated:NO];
                                              [self.navigationController pushViewController:viewThreadController animated:YES];

                                          }
                                          failure:^(AFHTTPRequestOperation *operation, NSError *error) {

                                              [self.navigationController popToRootViewControllerAnimated:YES];

                                          }];

}
Je ne voudrais pas créer de vue différents contrôleurs pour "Créer un Article" et "Point de Vue". Vrai que vous souhaiterez peut-être afficher l'article après sa création, mais il existe toujours une possibilité que votre utilisateur peut vouloir MODIFIER l'article après le visionnement. Il serait plus facile de concevoir une-vue-contrôleur pour permettre de créer, d'afficher et de modifier en une seule vue. La plupart des applications de conception de cette façon. Économiser votre temps segueing autour.

OriginalL'auteur Ryan | 2012-08-05