2010-04-27 7 views
1

J'ai lu beaucoup de choses sur l'écriture/lecture sur iPhone et je crois que tout ce que j'ai est correct, mais pour une raison quelconque, il ne fonctionne pas comme il se doit.iPhone Simulator - Ecrire à des problèmes de fichiers/lecture

Code

est comme suit

NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
NSString *filePath = [docsDirectory stringByAppendingFormat:@"filename.rtf"]; 
NSFileManager *fileManager = [NSFileManager defaultManager]; 
if (![fileManager fileExistsAtPath:filePath]) 

Je suis allé dans les documents de simulateur dossier iphone dossier pour l'application que je fais et a ajouté ce fichier dans comme une mesure de sécurité et il est toujours ne déclenche pas l'instruction if. Donc, pour une raison ou une autre, ce n'est pas ce qui rend l'écriture et la lecture impossibles. J'ai même essayé d'utiliser la fonction createFile de FileManager et n'ai obtenu aucun résultat. Si j'ai besoin de poster plus de code de quelque chose, faites le moi savoir mais je me dis que si tout ce qui précède est correct, il devrait trouver le fichier correctement. Merci d'avance.

MISE À JOUR: corrigé. Erreur hilare simple. Merci tout le monde.

Répondre

0

Avez-vous essayé d'utiliser stringByAppendingPathComponent: au lieu de stringByAppendingFormat:. Si docsDirectory ne contient pas de barre oblique finale, vous allez créer un fichier appelé /PATH/TO/Documentsfilename.rtf plutôt que /PATH/TO/Documents/filename.rtf.

3

La chaîne NSS renvoyée par NSSearchPathForDirectoriesInDomains ne comporte pas de barre oblique de fin, donc le chemin que vous construisez est incorrect. Pour ajouter le nom de fichier à l'utilisation stringByAppendingPathComponent qui gérera les séparateurs de chemin correctement.

Pour créer le filePath, essayez:

NSString *filePath =[docsDirector stringByAppendingPathComponent:@"filename.rtf"]; 
+0

Oh mon dieu, c'est incroyable. lol Merci beaucoup. – Robert