2010-09-17 8 views
0

Je rencontre des problèmes pour charger une vue détaillée à l'aide de pushViewController. Au début, je pensais que pushViewController ne fonctionnait pas. MAIS, alors j'ai essayé d'utiliser un autre contrôleur de vue et cela a fonctionné. Je peux dire à partir du traçage que le contrôleur de vue de problème n'est jamais chargé du tout. En d'autres termes, j'ai essayé d'éliminer la possibilité qu'il y avait une erreur dans le contrôleur de vue par NSLoging dans cet objet et je ne vois jamais rien.iPhone SDK: crash de pushViewController

Quelqu'un a-t-il des idées?

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

/* 
    NSLog(@"hsitkjsdfkljlkd"); 

    if (childController == nil) 
     childController = [[salesViewController alloc] initWithNibName:@"salesView" bundle:nil]; 

    //NSUInteger row = [indexPath row]; 

    [self.navigationController pushViewController:childController 
             animated:YES]; 

*/ 

/* 

    //modal = blocking 
    salesViewController *otherVC = [[salesViewController alloc] initWithNibName:@"salesView" bundle:nil]; 

    //must set sale type 
    otherVC.strSaleType = @"Voice"; 

    [self presentModalViewController: otherVC animated:YES]; 

    //No close. By design, it is up to the otherVC to close itself 

    */ 

    //tipCalcViewController *detailViewController = [[tipCalcViewController alloc] initWithNibName:@"tipCalcView" bundle:nil]; 
    salesViewController *detailViewController = [[salesViewController alloc] initWithNibName:@"salesView" bundle:nil]; 
    // ... 
    // Pass the selected object to the new view controller. 

    [self.navigationController pushViewController:detailViewController animated:YES]; 
    [detailViewController release]; 


} 
+0

voyez-vous un message d'erreur dans la console sur le plantage? – Vladimir

+0

Ce qui précède, plus, êtes-vous sûr que le nom de plume que vous avez spécifié est correct? –

+0

Aucun message de console. Le nom de la plume est correct aussi. Comment dépanner? – butchcowboy

Répondre

0

juste essayer ...... Certes, cela fonctionnera pour u ...

salesViewController *detailViewController = [[salesViewController alloc] initWithNibName:@"salesViewController" bundle:nil]; 

// Pass the selected object to the new view controller. 

[self.navigationController pushViewController:detailViewController animated:YES]; 
[detailViewController release]; 

Assurez-vous également que vous donnez la connexion IBOutlet à UIView.

3

Regardez simplement les

- (void)viewWillAppear:(BOOL)animated 
{ 


} 

du salesViewController.

vous faites quelque chose de mal dans ce ..

mettre le point de débogage dans le viewWillAppear et l'exécuter. Vous pouvez obtenir la ligne d'erreur.

0

Dans mon cas, j'ai plusieurs IBOutlets que j'ai retirés du fichier d'en-tête et j'ai oublié de supprimer la connexion à ces prises inexistantes dans Interface Builder. Le retrait des prises obsolètes a donc résolu le problème dans mon cas.

0

Lorsque vous poussez de ViewController1 à ViewController2 alors le code sera utilisé comme celui-ci alors essayez ce code,

ViewController2 *vw2=[[ViewController2 alloc]initWithNibName:@"ViewController2" bundle:nil]; 
[self.navigationController pushViewController:vw2 animated:YES]; 

Le code ci-dessus peut être écrit sur l'événement Click du bouton ou sur didSelect délégué de UITableView