在Objective-C中写入文件的新行

时间:2010-04-15 16:00:26

标签: objective-c escaping nsfilehandle

由于一些奇怪的原因,\ n和\ r \ n转义序列似乎在我的代码中不起作用。我想在文件的新行上编写每个NSString,但它只是将最后一个字符串附加到一行。这是代码:

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的新手。

1 个答案:

答案 0 :(得分:13)

你的问题是:

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

应该是:

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