Swift 3警告:类型' String'的非可选表达式用于检查选项

时间:2016-11-30 09:07:07

标签: swift xcode string

我正在将项目更新为Swift 3并遇到以下警告,我似乎无法解决。

fileprivate var filteredTitlesList: [String] = []

if let filteredTitle: String = filteredTitlesList[indexPath.row] as String { // 'Non-optional expression of type 'String' used in a check for optionals'

  // Do something

}

这里对类似问题的回答并没有帮助我:Non-optional expression of type 'AnyObject' used in a check for optionals

非常感谢!

2 个答案:

答案 0 :(得分:11)

您正在尝试解包已经解包的值,因此您收到错误,因为它不需要再次展开。将你的if语句更改为如下所示,你应该是金色的:

$mail->AddAddress('recipient1@domain.com', 'First Name');
$mail->AddAddress('recipient2@domain.com', 'Second Name');
$mail->AddAddress('recipient3@domain.com', 'Third Name');

不幸的是,没有办法在if语句中绑定变量,希望他们将来可以添加一个。

答案 1 :(得分:1)

此警告的其他可能性是当您尝试在let keyboardFrame: CGRect = keyboardFrameValue.cgRectValueif

等条件语句中添加guard语句时