Quelqu'un d'autre doit avoir reçu ce message pendant (ou après) avoir converti un projet iOS en Swift 3, mais lorsque je fais une search sur Google, je n'obtiens aucun résultat pertinent.
Quoi qu'il en soit, après la conversion à Swift 3, j'ai environ 30 avertissements qui disent:
Expression implicitement contrainte de 'UIView?' à tout
Mais les avertissements ne pointent vers aucune ligne de code spécifique. Ils ne font reference qu'à la class où l'avertissement existe.
Quelqu'un at-il un aperçu de cet avertissement ou comment pourrais-je les faire taire?
Dans mon cas, c'était un problème lié à un dictionary sans type explicite:
let dict = ["key": value]
Que j'ai résolu en spécifiant le type:
let dict: [Ssortingng: Any] = ["key": value]
Dans votre cas, vous pouvez spécifier votre type de valeur:
let dict: [Ssortingng: UIView] = ["key": value]
Cela se produira lorsque la fonction que vous appelez aura un paramètre de type Any et que vous passerez une option .
Par exemple:
let color: UIColor? = UIColor.red UIBarButtonItem.appearance().setTitleTextAtsortingbutes([NSFontAtsortingbuteName: color], for: .normal)
Notez que la couleur est de type UIColor? et que setTitleTextAtsortingbutes attend un dictionary de type [Ssortingng: Any]? .
Afin d'éviter l'avertissement, vous devez forcer le déballage de votre option ou le lancer sur Tout.
UIBarButtonItem.appearance().setTitleTextAtsortingbutes([NSFontAtsortingbuteName: color!], for: .normal)
ou
UIBarButtonItem.appearance().setTitleTextAtsortingbutes([NSFontAtsortingbuteName: color as Any], for: .normal)
Ressemble à un bogue dans le compilateur Swift:
https://bugs.swift.org/browse/SR-2921
Actuellement, je vois cela avec Xcode 8.1 et 8.2 beta 1.
Dans votre cas, l'avertissement devrait identifier le file source, mais pas la ligne – comme vous l'avez indiqué. Vous devrez searchr les appels aux fonctions avec Any
quels parameters.
La bonne nouvelle est qu'il semble corrigé dans une string d'outils Swift à venir.
Je crois que c'est corrigé dans Xcode 8.3 beta 1 (mais pas confirmé)