从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"]
}
}
答案 0 :(得分:1)
问题是myVar as String
会返回String?
而不是String
。
如果您确定此转换始终有效,则可以使用myVar as! String
。
但是,如果您担心强制类型转换可能返回nil可选,则可以尝试guard
语句。