问答详情
源自:1-2 Swift2.0可选型的解包

swift3.0中,if语句中使用可选型并不支持where这个关键字

var errorCode: Int? = 404;
var errorMsg: String? = "not found";
if let errorCode = errorCode where errorCode == 404,
   let errorMsg = errorMsg{
    print(errorMsg);
}

这样的代码在swift3.0里面会报错,where这个地方会报错。

那么在swift3.0中如何使用where这个关键字

提问者:小王子抓猫咪 2016-09-19 23:18

个回答

  • ylei0514
    2016-09-20 12:55:48
    已采纳

    where 去掉加上 , 即可

  • 慕侠3610317
    2017-07-05 10:41:49

    where 底层会转成if, if where 会加大开销不推荐。

  • 范子祺
    2016-09-27 18:53:36

    确实要加   ,

  • 小王子抓猫咪
    2016-09-20 21:13:46

    你说的不完全正确。

    各种条件在3.0版本中应该用 , 逗号分隔,所以这里去掉where应该在前面加上  , 逗号

    if let errorCode = errorCode ,  errorCode == 404 , let errorMsg = errorMsg {  }