2010-04-15 7 views
4

Pour une raison étrange, les séquences d'échappement \ n et \ r ne semblent pas fonctionner dans mon code. Je veux écrire chaque NSString sur une nouvelle ligne du fichier, mais il l'ajoute juste la dernière chaîne sur une ligne. Voici le code:Ecriture d'une nouvelle ligne d'un fichier dans Objective-C

for (Entry *entry in self.entries) { 
    NSString *path = @"/Users/me/File.txt"; 
    NSString *string = (@"%@\r\n", [entry thisEntry]); 
    NSFileHandle *fh = [NSFileHandle fileHandleForWritingAtPath:path]; 
    [fh seekToEndOfFile]; 
    [fh writeData:[string dataUsingEncoding:NSUnicodeStringEncoding]]; 
    [fh closeFile]; 
} 

Est-ce que je fais quelque chose de mal? Pardonne-moi comme je suis nouveau à Objective-C.

Répondre

13

Votre problème est le suivant:

NSString *string = (@"%@\r\n", [entry thisEntry]); 

Il devrait être:

NSString *string = [NSString stringWithFormat:@"%@\r\n", [entry thisEntry]]; 
+0

Eh oui! C'était ça ... semble fonctionner parfaitement. On dirait une erreur assez stupide de ma part. Merci encore! – Kulpreet