写入文件的Objective-C的新行
-
27-09-2019 - |
题
对于一些奇怪的原因,\ n和\ r转义序列似乎并不在我的代码是工作。我想写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。
解决方案
您的问题是:
NSString *string = (@"%@\r\n", [entry thisEntry]);
它应该是:
NSString *string = [NSString stringWithFormat:@"%@\r\n", [entry thisEntry]];
不隶属于 StackOverflow