Начиная с бета-версии 8.3, огромное количество предупреждений: «Строковая интерполяция дает описание отладки для необязательного значения; вы хотели сделать это явным?» появился в моем коде.
Например, предупреждение появляется в следующей ситуации, когда параметры могут привести к нулю:
let msg = "*** Error \(options["taskDescription"]): cannot load \(sUrl) \(error)"
Как было разработано ранее, для меня (и для компилятора) было нормально, что дополнительные параметры должны быть интерполированы как 'nil'. Но компилятор передумал.
Компилятор предлагает добавить конструктор String со следующим описанием:
let msg = "*** Error \(String(describing: options["taskDescription"])): cannot load \(sUrl) \(error)"
Очевидно, что результаты явные, но, на мой взгляд, очень громоздкие. Есть ли лучший вариант? Мне нужно исправить все эти предупреждения или лучше дождаться следующей бета-версии?