Partage
  • Partager sur Facebook
  • Partager sur Twitter

[iOS] Lire un fichier texte simple en Objective-C

    24 avril 2013 à 19:17:12

    Bonjour, 

    je suis confronté à un problème très gênant :

    J'essaie depuis quelques jours de lire un fichier texte avec Objective-C (interne à une application iPhone) et il se trouve que peu importe la portion de code que j'utilise (notamment le NSFileHandle), je me retrouve avec une erreur. Une erreur que je ne sais pas comment découvrir, comment en connaître l'origine.

    La seule chose qui s'affiche peu importe les multiples essais que j'ai fait est "Erreur au chargement".

    Je vous donne mon code qui va avec (ViewController.m):

    //
    //  ViewController.m
    //  *Coupé*
    //
    //  Created by *Coupé* on *Coupé*
    
    #import "ViewController.h"
    
    @implementation ViewController
    @synthesize userName;
    @synthesize passWord;
    
    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        // Release any cached data, images, etc that aren't in use.
    }
    
    #pragma mark - View lifecycle
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
    	// Do any additional setup after loading the view, typically from a nib.
    }
    
    - (void)viewDidUnload
    {
        [self setUserName:nil];
        [self setPassWord:nil];
        [super viewDidUnload];
        // Release any retained subviews of the main view.
        // e.g. self.myOutlet = nil;
    }
    
    - (void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
    }
    
    - (void)viewDidAppear:(BOOL)animated
    {
        [super viewDidAppear:animated];
    }
    
    - (void)viewWillDisappear:(BOOL)animated
    {
    	[super viewWillDisappear:animated];
    }
    
    - (void)viewDidDisappear:(BOOL)animated
    {
    	[super viewDidDisappear:animated];
    }
    
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
        // Return YES for supported orientations
        return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
    }
    
    - (IBAction)connect:(id)sender {
        NSString *pseudo = [[NSString alloc] initWithFormat:userName.text];
        NSLog(pseudo);
        NSError * erreur = nil;
        NSFileHandle *lectureFichier;
        lectureFichier = [NSFileHandle
                          fileHandleForReadingAtPath: @"test.txt"];
        if (lectureFichier == nil)
        {
            NSLog(@"Erreur au chargement");
        }
        else
        {
            NSLog(@"Chargement réussi");
        }
        
        
        
    }
    @end

    Merci de m'aider si vous le pouvez.

    Cordialement.

    • Partager sur Facebook
    • Partager sur Twitter
    Développeur indépendant à la poursuite de connaissances.
      24 avril 2013 à 21:21:13

      Tu ne peux pas juste donner le nom de ton fichier et son type tel que test.txt. Il faut d'abord que tu récupères l'adresse du DocumentsDirectory avec un truc du genre : 

      NSString *documentFolderPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
      

      Puis ton fichier test.txt tu l'as crée préalablement ?

      • Partager sur Facebook
      • Partager sur Twitter
        25 avril 2013 à 6:21:18

        Je ne vois pas ce que tu veux dire, où est-ce que je place le test.txt ? Je ne connais absolument pas l'Objective-C et ses fonctions malheureusement, c'est nouveau pour moi :/

        Et oui j'ai créé le fichier au préalable. 

        Pourrais-tu être plus clair s'il te plaît ?

        • Partager sur Facebook
        • Partager sur Twitter
        Développeur indépendant à la poursuite de connaissances.
          25 avril 2013 à 14:52:55

          Comment as-tu crée le fichier ? 

          En fait, il faut que tu places ton fichier dans le DocumentsDirectory, donc en fait utilises plutôt :

          NSURL *url = [[[NSFileManagerdefaultManager] URLsForDirectory:NSDocumentDirectoryinDomains:NSUserDomainMask] lastObject];

              url = [url URLByAppendingPathComponent:@"NomDeTonFicher"];


          Pour avoir l'url où tu crée ton fichier. Ensuite je pense faut que tu utilises UIDocument et tu fais un truc du genre : 


          UIDocument *document = [[UIDocument alloc] initWithURL:url];

          -
          Edité par Coolsinus 25 avril 2013 à 15:02:51

          • Partager sur Facebook
          • Partager sur Twitter

          [iOS] Lire un fichier texte simple en Objective-C

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown