En Swift2.2, j'ai une extension Optional
qui ressemble à:comment squelch "résultat non utilisés" avertissements
extension Optional {
func ifNotNil<T>(_ closure:(Wrapped) -> T) -> T? {
switch self {
case .some (let wrapped):
return closure(wrapped)
case .none:
return nil
}
}
}
Il permet de code comme
anImageView.image = self.something.ifNotNil { self.getImageFor($0) }
Mais parfois, je ne se soucient pas du résultat:
myBSON["key"].string.ifNotNil {
print($0}
}
Dans Swift2.2, cela a fonctionné comme un charme. Mais en lançant la nouvelle bêta XCode8 et en convertissant en Swift3, j'obtiens des avertissements partout où je fais le second type. C'est presque comme s'il y avait un @warn_unused_result
implicite. Est-ce juste un bêta précoce? Ou quelque chose que je ne peux plus faire dans Swift3? Ou quelque chose que je dois corriger dans Swift3?
peut ne pas reproduire ce problème avec Xcode 8. Pouvez-vous fournir un exemple complet et reproductible reproduisant le problème plutôt que le code de boutonnière? – JAL