Desde o beta 8.3, zilhões de avisos "A interpolação de strings produz uma descrição de depuração para um valor opcional; você pretendia tornar isso explícito?" apareceu no meu código.
Por exemplo, o aviso apareceu na seguinte situação, em que as opções podem levar a zero:
let msg = "*** Error \(options["taskDescription"]): cannot load \(sUrl) \(error)"
Conforme projetado anteriormente, estava tudo bem para mim (e para o compilador) que os opcionais fossem interpolados como 'nulo'. Mas o compilador mudou de ideia.
O que o compilador sugere é adicionar um construtor String com a descrição a seguir:
let msg = "*** Error \(String(describing: options["taskDescription"])): cannot load \(sUrl) \(error)"
Obviamente, os resultados são explícitos, mas também muito complicados na minha opinião. Existe uma opção melhor? Tenho que corrigir todos esses avisos ou melhor esperar pelo próximo beta?