我尝试向 NSlog
添加新行。
我跑:
NSLog(@"\n%@\r\n\r\n", json1);
NSLog(@"\n%@\r\n\r\n", json2);
但是输出是:
2017-03-29 16:09:50 InAppTestAfApp2[312:33527]
{"attribution":"true"}
2017-03-29 16:09:50 InAppTestAfApp2[312:33527]
{"attribution":"false"}
它将新行忽略为 \r\n
(也仅尝试过 \n
),但在字符串工作之前第一个 \n
我期望:
2017-03-29 16:09:50 InAppTestAfApp2[312:33527]
{"attribution":"true"}
2017-03-29 16:09:50 InAppTestAfApp2[312:33527]
{"attribution":"false"}
017-03-29 16:09:50 InAppTestAfApp2[312:33527] other logs ...
我使用 Xcode 8.3
[编辑 1]
我尝试运行:
NSLog(@"%@ %@",type, @"xxxxx\n\n");
我仍然看到:
2017-03-29 16:09:50 InAppTestAfApp2[312:33527]
xxxxx
017-03-29 16:09:50 InAppTestAfApp2[312:33527] other logs ...
[编辑2]
作为解决办法,我在最后添加了垃圾,但看起来很乱:
NSLog(@"%@ %@\r\n\r\n%s",type, json, @"`");
最佳答案
Mac 上从来不需要回车/换行对 (CR+LF)。经典 MacOS 使用 CR,MacOS X 使用 LF(由于其 Unix 传统)。因此,NSLog()
从您正在记录的文本中删除 CR 字符也就不足为奇了。
NSLog()
修剪日志语句末尾的空格也不足为奇。 NSLog()
用于记录消息——它不是通用的print
语句。保持日志紧凑很有用,从消息末尾修剪空白行就可以达到这个目的。
如果您确实想在消息中包含空格,也许为了使某些日志消息更加突出,您可以通过在空行后包含一个打印字符来实现。例如:
NSLog(@"\n\nMy Really Important Message\n\n.");
结果:
2017-03-29 09:28:12.898 MessageTest[13407:2524935]
My Really Important Message
.
关于ios - NSlog 不打印新行\r\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43094610/