2009-09-01 4 views
0

J'ai un UIViewController (qui se trouve à l'intérieur d'un tabUIController). Dans ce UIViewController, je souhaite présenter un modelviewcontroller lorsqu'un utilisateur clique sur un bouton. Je ne peux pas faire fonctionner ça. Avec le code que j'ai (voir ci-dessous) j'arrive à l'étape où j'appuie sur le bouton mais j'obtiens l'erreur étrange de "incapable de lire la commande inconnue de chargement 0x80000022".Problèmes présentsModalViewController: Débutant a besoin d'aide

Des idées? (pour le BrowserUIViewController je n'ai pas encore ajouté quoi que ce soit, mais cela ne devrait pas avoir d'importance, avec n'importe quel contrôleur je veux juste obtenir la bonne syntaxe).

@interface AboutDoronUIViewController : UIViewController 
      <UITableViewDelegate, UITableViewDataSource> { 

NSDictionary *values; 
NSArray   *keys; 
BrowserUIViewController *browser; 
AboutDoronUIViewController *about; 

} 

@property (retain, nonatomic) NSDictionary *values; 
@property (retain, nonatomic) NSArray *keys; 
@property (retain, nonatomic) BrowserUIViewController *browser; 
@property (retain, nonatomic) AboutDoronUIViewController *about; 
@end 


... 
- (void)tableView:(UITableView *)tableView 
didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSInteger section = [indexPath section]; 
    NSUInteger row = [indexPath row]; 

    NSString *getSection = [keys objectAtIndex:section];   
    NSArray *valuesForSection = [values objectForKey: getSection]; 

    NSString *selectedLink = [valuesForSection objectAtIndex:row]; 

    NSString *urlAddress = @"http://www.google.com"; 

    //Create a URL object. 
    NSURL *url = [NSURL URLWithString:urlAddress]; 

    //URL Requst Object 
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; //unused for now 

    BrowserUIViewController *temp = [[BrowserUIViewController alloc] initWithNibName:@"BrowserUIViewController" bundle:nil]; 

    self.browser = temp; 

    [self presentModalViewController:browser animated:YES]; 

    [urlAddress release]; 
    [valuesForSection release]; 
    [selectedLink release]; 
    [getSection release]; 
    [temp release]; 
} 
+0

Sémantiquement, cela semble correct, mais où créez-vous votre «navigateur»? – jbrennan

+0

probablement utile de s'assurer que le fichier nib BrowserUIViewController que vous spécifiez est là et correct – paulthenerd

Répondre

0

Le code que vous avez ici a l'air correct, donc votre problème est susceptible de se produire ailleurs. Essayez de placer des points d'arrêt autour de la ligne presentModalViewController:animated: pour voir quelles lignes sont exécutées avant que l'erreur se produise.

Essayez de mettre des points d'arrêt dans la classe et les méthodes de viewDidLoad et viewWillAppear: le BrowserUIViewController, pour voir qui de ceux-ci, le cas échéant, sont déclenchées avant que l'erreur se produit.

+0

Donc, vous pensez que c'est un problème IB? Pouvez-vous me guider à travers ce qui serait les exigences en termes de connexion du contrôleur modal supposé .. De remarque, j'ai remarqué dans le contrôleur appelant ce contrôleur modal, il n'y a pas de fenêtre, il semble accéder à la vue directement, donc c'est bien ? – Doz