打印,NSLog和println和什么时候应该使用每一个之间有什么区别?
例如,在Python中,如果我想打印字典,我只打印myDict,但现在我有2个其他选项。如何和何时应该使用每个?
几个区别:
> println vs print:
在Swift 2之前,println会在结果的末尾添加一个换行符,而print不会。
从Swift 2开始,println不再使用。通常使用print(不带appendNewline参数,或者将该参数设置为true)来打印一行后跟换行符。如果你想打印一个没有换行符的字符串,你将使用printend和appendNewline为false。
> NSLog vs print / println:
> NSLog更慢;
> NSLog将时间戳和标识符添加到输出,而println不会;
> NSLog同步日志语句,以便如果您同时从不同线程发出日志,它们不会彼此重叠;如果从单独的线程同时执行而不进行某些同步(例如,将其分派到某个串行队列,例如主队列),println可能导致混乱输出;
>在物理设备上执行时,NSLog语句显示在设备的控制台中,而println仅显示在调试器控制台中。
通常在Swift中,你可以使用print / println,虽然你可以在需要的时候使用NSLog(例如,它在控制台中显得很重要,或者你从多个线程做这件事,你不想要自己同步)。任何一个都应该能够显示您的字典没有事故。