Depuis la beta 8.3, zillions mises en garde "de la Chaîne d'interpolation produit une version de débogage de description pour une valeur facultative; avez-vous l'intention de faire de cette explicites?" est apparu dans mon code.
Par exemple, l'avertissement sauté dans la situation suivante, où les options pourraient conduire à néant:
let msg = "*** Error \(options["taskDescription"]): cannot load \(sUrl) \(error)"
Comme précédemment, il est ok pour moi (et le compilateur) les options pour être interpolé comme "nil". Mais le compilateur a changé son esprit.
Ce que le compilateur indique est d'ajouter une Chaîne de constructeur avec une description comme suit:
let msg = "*** Error \(String(describing: options["taskDescription"])): cannot load \(sUrl) \(error)"
Évidemment, le résultat est explicite, mais aussi très, très lourd à mon avis. Est-il une meilleure solution? Dois-je fixer tous ces avertissement ou mieux d'attendre pour la prochaine beta?