当我尝试像这样打印表情符号时:
print("Incomplete frame ⚠️")
有时它在调试器中打印为:
Incomplete frame ⚠⚠357️
这个也是如此:
print("Frame not ready 💤")
有时会(但并非总是如此!(显示:
Frame not ready 360237222💤
或者,更糟糕的是,像
Frame not ready 360237360237360237222💤
为什么会这样?我该如何预防?
你必须将 Unicode 字符串转换为属性字符串,请在下面使用这个 字符串扩展名
extension String
func UnicodeToAttributed() -> NSAttributedString? {
do {
let data = self.data(using: String.Encoding.utf8, allowLossyConversion: true)
if let d = data {
let str = try NSAttributedString(data: d,
options: [
NSCharacterEncodingDocumentAttribute: String.Encoding.utf8.rawValue],
documentAttributes: nil)
return str
}
} catch {
}
return nil
}
}