簡體   English   中英

Swift 3警告:檢查選項時使用的“String”類型的非可選表達式

[英]Swift 3 warning: Non-optional expression of type 'String' used in a check for optionals

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

}

這里類似問題的答案對我沒有幫助: 在檢查選項時使用的“AnyObject”類型的非可選表達式

非常感謝!

您正在嘗試解包已經解包的值,因此您收到錯誤,因為它不需要再次展開。 將你的if語句更改為如下所示,你應該是金色的:

if filteredTitleList.count > indexPath.row {
    let filteredTitle = filterdTitleList[indexPath.row]
}

不幸的是,沒有辦法在if語句中綁定變量,希望他們將來添加一個。

此警告的其他可能性是當您嘗試發出一個語句時:例如:在條件語句中使用let keyboardFrame: CGRect = keyboardFrameValue.cgRectValue ,如ifguard

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM