Swiftマニュアルの61ページにあるSwiftドキュメントは、where
を使用してオプションのバインディングを通常の条件に結合する可能性を示唆しています。しかし、それを行うと、次のコードのように、where
をコンマで置き換えるように警告する警告が表示されます。
if let geocodingError = error as? NSError where geocodingError.code == 2
2つの条件の例
if let x = y, let a = b, a == x && !x.isEmpty {
Swift 3では、この構文が変更されました。
何だった
if let x = y, a = b where a == x {
今でしょ
if let x = y, let a = b, a == x {
正当な理由は、if ... {
の各サブ節が独立したブールテストになったことです。
この変更の詳細については、Xcode リリースノート および Swift Evolutionの提案 を参照してください。
Xcode 9で
if let str = textField.text as String!, !str.isEmpty
{
params[key] = str
TextFieldHelper.setup(textField: textField)
}
else
{
TextFieldHelper.error(textField: textField)
}