最佳答案
从 Beta 8.3开始,就有无数的警告“ String 插值为一个可选值生成一个调试描述; 您是否打算将其显式化?”出现在我的代码中。
例如,在下列情况下出现警告,其中选项可能导致零:
let msg = "*** Error \(options["taskDescription"]): cannot load \(sUrl) \(error)"
正如以前设计的那样,我(和编译器)可以将选项插入为‘ nil’。但是编译器改变了主意。
编译器建议添加一个 String 构造函数,其描述如下:
let msg = "*** Error \(String(describing: options["taskDescription"])): cannot load \(sUrl) \(error)"
显然,结果是明确的,但也非常非常麻烦,在我看来。还有更好的选择吗?我必须修复所有这些警告,还是最好等到下一个测试版?