Swift 2.x to swift 3,XCode抱怨错误:'String!'不能转换为'String'

时间:2017-09-14 07:43:55

标签: swift xcode swift3

从Swift 2.x迁移到swift 3时,我有错误“'String!'不能转换为“字符串”“在网上出现

self.cartItemController.textCombinationsToDisplayInCart[pCombinationsPickerView.combinationName as String]=combinationValue["Name"]

有人知道如何纠正这个问题吗?

func setTextCombinationsToDisplayInCart(_ pCombinationsPickerView:CombinationsPickerView,pRow:Int) {
    var combinationValue:[NSString : NSObject]=pCombinationsPickerView.combinationValues[pRow] as! [NSString : NSObject]
    if(pCombinationsPickerView.combinationID != 1) { //Personnalisation 
        self.cartItemController.textCombinationsToDisplayInCart[pCombinationsPickerView.combinationName as String]=combinationValue["Name"]
    }
}

1 个答案:

答案 0 :(得分:1)

问题是myVar as String会返回String?而不是String

如果您确定此转换始终有效,则可以使用myVar as! String

但是,如果您担心强制类型转换可能返回nil可选,则可以尝试guard语句。