2010-04-15 90 views
4

出于某种奇怪的原因,\ n和\ r转义序列似乎无法在我的代码中工作。我想将每个NSString写入文件的新行,但它只是将最后一个字符串追加到一行上。这里的代码:写入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]; 
} 

我做错了什么?原谅我,因为我是Objective-C的新手。

回答

13

你的问题是这样的:

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

它应该是:

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

是啊!这就是它......似乎完美地工作。看起来像我的一个非常愚蠢的错误。再次感谢! – Kulpreet 2010-04-15 16:06:01