2011-06-14 7 views
0

J'essaie d'ouvrir un petit fichier texte pour tester certaines fonctions NSFileHandle sur le fichier. Cependant, je n'arrive pas à comprendre comment faire, si vous pouviez me dire ce qui me manquait ce serait génial.comment ouvrir le fichier texte avec NSFileHandle

//.h

@interface MainViewController : UIViewController <FlipsideViewControllerDelegate> { 
    NSFileHandle *nCode; 
} 
@property (nonatomic, retain) IBOutlet NSFileHandle *nCode; 

- (IBAction)showInfo:(id)sender; 

//check for code 
- (void)fetchCode:(id)sender; //this function is attached to a button in the .nib 

@end 

//.m

- (void)fetchCode:(id)sender{ 
nCode = [NSFileHandle fileHandleForReadingAtPath:@"nCode01.txt"]; 

if (nCode == nil) { 
    NSLog (@"Open of nCode for reading failed\n"); 
    return; 
} 

[nCode closeFile]; 
} 

tout ce que je fais ici tente d'ouvrir le fichier, mais chaque fois que j'appuie sur le bouton I recive le message d'erreur "Ouvert de nCode pour la lecture a échoué" ... qu'est-ce que je fais mal? Je souhaite trouver un moyen de laisser l'utilisateur entrer un nombre qui représente une ligne dans le fichier texte, puis retourner le texte qui se trouve dans cette ligne. Quelqu'un sait-il comment faire? c'est possible?

+0

Je l'ai mis dans mon fichier de ressources dans mon ensemble de fichiers – tinhead

Répondre

3

Probablement le problème est le chemin du fichier puisque vous ne spécifiez pas un nom de chemin d'accès complet. Lorsque vous souhaitez accéder à un fichier dans votre paquet d'applications, utilisez -[NSBundle pathForResource:ofType]:

NSString *path = [[NSBundle mainBundle] pathForResource:@"nCode01" 
               ofType:@"txt"]; 
nCode = [NSFileHandle fileHandleForReadingAtPath:path]; 
+0

Arr ... Je vois painfull c'est la même chose que vous faites lors de l'initialisation une base de données ... J'aurais dû le savoir .. bien encore nouveau à l'objectif C mais oui semble difficile à manquer .. :(merci pour cela. – tinhead

Questions connexes