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

Kul*_*eet 4 escaping objective-c 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];
}
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?请原谅我,因为我是Objective-C的新手.

Dav*_*ong 13

你的问题是这样的:

NSString *string = (@"%@\r\n", [entry thisEntry]);
Run Code Online (Sandbox Code Playgroud)

它应该是:

NSString *string = [NSString stringWithFormat:@"%@\r\n", [entry thisEntry]];
Run Code Online (Sandbox Code Playgroud)