我对开发iOS应用程序功能时看到的行为感到好奇,我想知道是否有人知道原因。
我有一个要编码的Codable
对象
let encoded = try encoder.encode(featureEnvelope)
在此之后,我将得到如下所示的打印件和一个断点:
print(String(data: encoded, encoding: .utf8)!)
在端点上,我执行以下操作:
po String(data: encoded, encoding: .utf8)!
两个表达式的结果略有不同:
用于打印:
{"boost_share_link":{"enable":true}}
,然后打印:
"{\"boost_share_link\":{\"enable\":true}}"
为什么控制台显示转义字符? 正确哪一个是正确的?
谢谢!
答案 0 :(得分:1)
print
显示String
的值。
po
将值显示为String
文字。注意前导和尾随引号。由于它是字符串文字,因此某些字符(例如其他引号)需要转义。
两者都是正确的。
但是您通常会认为print
的输出是正确的输出,因为该字符串实际上并不包含\
字符或前后引号