Swift 3警告:检查选项时使用的"String"类型的非可选表达式

non*_*tic 9 string xcode swift

我正在更新一个项目到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

}
Run Code Online (Sandbox Code Playgroud)

这里类似问题的答案对我没有帮助:在检查选项时使用的"AnyObject"类型的非可选表达式

非常感谢!

Jac*_*ing 12

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

if filteredTitleList.count > indexPath.row {
    let filteredTitle = filterdTitleList[indexPath.row]
}
Run Code Online (Sandbox Code Playgroud)

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