La documentation de Swift à la page 61 du Swift manuel) indique la possibilité d'utiliser where
pour joindre une liaison facultative avec une condition régulière. Pourtant, lorsque je le fais, un avertissement me suggère de remplacer le where
par une virgule, comme dans le code suivant:
if let geocodingError = error as? NSError where geocodingError.code == 2
Exemple à deux conditions
if let x = y, let a = b, a == x && !x.isEmpty {
Dans Swift 3 cette syntaxe a changé.
Quel était
if let x = y, a = b where a == x {
Est maintenant
if let x = y, let a = b, a == x {
La justification est que chaque sous-clause de la if ... {
est maintenant un test booléen indépendant.
Voir le Xcode Notes de version & le proposition de Swift Evolution pour plus d'informations sur ce changement.
Dans xcode 9
if let str = textField.text as String!, !str.isEmpty
{
params[key] = str
TextFieldHelper.setup(textField: textField)
}
else
{
TextFieldHelper.error(textField: textField)
}