2011-05-13 3 views
0

J'ai une application Split View que je construis, en utilisant une plist pour mon tableau, et en utilisant un UIWebView pour afficher le contenu dans le DetailViewController. En utilisant le code ci-dessous pour faire des appels à l'adresse URL dans mon plist, et l'adresse URL affiche un PDF dans le DetailViewController à travers l'UIWebView.Split View App, afficher PDF dans la vue détaillée, les fichiers PDF sont le stockage local

DetailViewController.m

NSString *mutareURL = [_detailItem description]; 
NSURL *url = [NSURL URLWithString:mutareURL]; 
[_catalog loadRequest:[NSURLRequest requestWithURL:url]]; 

Ce que je dois faire est d'avoir tous les PDF dans mon dossier de ressources dans mon projet. Je peux utiliser un NSArray ou un plist pour le RootViewController (TableView), mais j'ai besoin d'avoir la possibilité d'afficher les PDF dans le DetailViewController via UIWebView lorsqu'une Row est sélectionnée dans le RootViewController (TableView). J'ai essayé ce code dans mon fichier DetailViewController.m, mais cela ne fonctionne pas.

NSString *path = [[NSBundle mainBundle] pathForResource:@"%@" ofType:@"pdf"]; 
NSURL *targetURL = [NSURL fileURLWithPath:path]; 
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL]; 
[_Pdf loadRequest:request]; 

J'ai un NSLog dans mon fichier RootViewController.m avec ce code, et je ne vois que les noms des fichiers pdf montrent dans mon débogueur. Je ne sais pas comment les obtenir à partir du RootViewController et les passer dans le pathforResourse "@"% @ "deType: @" pdf "]; area. Brochures est un NSArray qui a tous les addObject: @" nameofpdfs "qui se passe.

RootViewController.m

detailViewController.detailItem = [NSString stringWithFormat:@"%@", [brochures objectAtIndex:indexPath.row]]; 
NSLog(@"Cell created for row: %d", [indexPath row]); 
NSLog(@"brochures = %@", detailViewController.detailItem); 

Merci

Répondre

0

la réponse est probablement le dernier extrait. la première ligne passe essentiellement le nom du fichier sélectionné dans le RootViewController au DetailViewController en définissant ce dernier de detailItem propriété

Si vous remplacez

NSString *path = [[NSBundle mainBundle] pathForResource:@"%@" ofType:@"pdf"]; 

par

NSString *path = [[NSBundle mainBundle] pathForResource: self.detailItem ofType:@"pdf"]; 

il devrait fonctionner.

Selon que les noms de fichiers dans le tableau brochures contiennent déjà le suffixe @".pdf", vous pourriez avoir à laisser de l'envoi du message:

NSString *path = [[NSBundle mainBundle] pathForResource: self.detailItem ofType: nil]; 
+0

Merci beaucoup, je ne savais pas que je pouvais mettre self.detailItem in. J'ai dû utiliser nil pour ofType. – Rogerpn

Questions connexes