2011-05-17 6 views
1

Je développe une application iPhone.Lire le fichier texte dans un dossier

Je sais lire un fichier texte placé dans le même répertoire que le projet. Mais comment lire les fichiers dans un dossier placé dans le même répertoire que le projet? Il me donne toujours un écran vide.

Cela fonctionne:

NSString *textUrl = [[NSBundle mainBundle] pathForResource:@"myText" ofType:@"txt"]; 
textView.text = [NSString stringWithContentsOfFile:textUrl encoding:NSUTF8StringEncoding error:nil]; 

Mais cela me donne une vue de texte vide:

NSString *textUrl = [[NSBundle mainBundle] pathForResource:@"myFolder/myText" ofType:@"txt"]; 
textView.text = [NSString stringWithContentsOfFile:textUrl encoding:NSUTF8StringEncoding error:nil]; 

Comment puis-je résoudre ce problème?

Répondre

0

fichiers de lecture n'a rien à voir avec la structure du fichier sur le disque dur de la machine dev. Cela a tout à voir avec la structure de fichier du disque dur du périphérique cible. Si vous regardez les phases de construction de votre projet Xcode d'application iOS standard, vous verrez une phase «Copier les ressources de l'ensemble». Cette phase est responsable de la copie des ressources (comme votre fichier texte) dans le répertoire des documents de l'application. Il y a une chance décente que, même si votre ressource est dans un dossier différent dans la structure de projet de votre machine dev, elle est toujours copiée dans le répertoire de documents de niveau racine dans l'ensemble d'applications. Vous pouvez obtenir une idée en regardant dans cette phase de construction des ressources de regroupement de copies et vérifier la ressource que vous cherchez à charger. Si ce n'est pas dans une référence de dossier (un dossier bleu, Finder-esque, il est probablement juste copié au niveau de la racine.

-1

NSBundle a la méthode pathForResource:ofType:inDirectory:

NSString *textUrl = [[NSBundle mainBundle] pathForResource:@"myText" ofType:@"txt" inDirectory:@"myFolder"]; 
textView.text = [NSString stringWithContentsOfFile:textUrl encoding:NSUTF8StringEncoding error:nil]; 
Questions connexes