ErrorSwift中的类型似乎只提供了一个属性,localizedDescription. 我的应用程序将在设置为英语以外的其他语言的机器上运行。我想用英语编写错误报告(供我阅读,而不是用户的):我需要错误的非本地化描述。我怎么才能得到它?
Apple\xe2\x80\x99s 文档说CustomStringConvertible:
\n\n\n\n
description不鼓励直接访问 type\xe2\x80\x99s属性 [\xe2\x80\xa6]。
为什么?
\n\n下面是一个示例,其中 usingdescription对我来说似乎很有用。否则我如何得到相同的结果?
func dontPrintNil(_ s: String?) {\n if s == nil {\n print("placeholder")\n } else {\n print(s!)\n }\n}\n\nlet s: String? = nil\n\ndontPrintNil(s) // \xe2\x86\x92 placeholder\ndontPrintNil(s?.description) // \xe2\x86\x92 placeholder\ndontPrintNil(String(describing: s)) // \xe2\x86\x92 nil\ndontPrintNil("\\(s)") // \xe2\x86\x92 nil\nRun Code Online (Sandbox Code Playgroud)\n 在Emacs中评估以下代码时,我得到(2 3)作为x的最终值.我期待(1 2 3).我错过了什么?
(setq x '(2 1 3))
(sort x '<)
x
Run Code Online (Sandbox Code Playgroud)