问题
The Swift documentation at page 61 of the Swift manual hints to the possibility of using where
to join an optional binding with a regular condition. Yet when I do it I have a warning suggesting me to substitute the where
with a comma like in the following piece of code:
if let geocodingError = error as? NSError where geocodingError.code == 2
回答1:
Example with two conditions
if let x = y, let a = b, a == x && !x.isEmpty {
回答2:
In Swift 3 this syntax has changed.
What was
if let x = y, a = b where a == x {
Is now
if let x = y, let a = b, a == x {
The justification is that each sub-clause of the if ... {
is now an independent boolean test.
See the Xcode Release notes & the Swift Evolution proposal for more info about this change.
回答3:
In xcode 9
if let str = textField.text as String!, !str.isEmpty
{
params[key] = str
TextFieldHelper.setup(textField: textField)
}
else
{
TextFieldHelper.error(textField: textField)
}
来源:https://stackoverflow.com/questions/38762513/usage-of-where-in-if-let-assignment-in-swift