在Swift中使用if in赋值的用法

时间:2016-08-04 08:42:59

标签: ios swift where optional swift3

Swift手册第61页的Swift文档提示可以使用where加入具有常规条件的可选绑定。然而,当我这样做时,我发出警告,建议我用以下代码中的逗号替换where

if let geocodingError = error as? NSError where geocodingError.code == 2

3 个答案:

答案 0 :(得分:132)

在Swift 3中,此语法已更改。

什么是

if let x = y, a = b where a == x {

现在是

if let x = y, let a = b, a == x {

理由是if ... {的每个子句现在都是一个独立的布尔测试。

请参阅Xcode Release notes&有关此更改的详细信息,请Swift Evolution proposal

答案 1 :(得分:3)

有两个条件的例子

if let x = y, let a = b, a == x && !x.isEmpty {

答案 2 :(得分:3)

在xcode 9中

if let str = textField.text as String!, !str.isEmpty
{
   params[key] = str
   TextFieldHelper.setup(textField: textField)
}
else
{ 
   TextFieldHelper.error(textField: textField)
}