2010-04-15 79 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