0
Swift 2.xからswift 3への移行時に、「 'String!」というエラーが発生しました。 「文字列」に変換できません。スウィフト2.xを3速にすると、Xcodeにエラーが表示される: '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"]
}
}
私は[pCombinationsPickerView.combinationName as String]を[pCombinationsPickerView.combinationName as!]に置き換えます。文字列]しかし、今それによって警告: "強制的なキャストから '文字列!' 'String'は常に成功しました。あなたは 'as'を使うのが賢明でしたか?そしてXcodeは 'as'で置き換えることを提案します。 'として' ... – Zipette
問題はおそらく右側にあります。 'combinationValue ["Name"] 'はNSStringです。あなたはそれに' as'変換を使用する必要があります。 –
ありがとう、私はself.cartItemController.textCombinationsToDisplayInCart [pCombinationsPickerView.combinationName as String] = combValue ["Name"] by self.cartItemController.textCombinationsToDisplayInCart [pCombinationsPickerView.combinationName as NSString] = combinationValue ["Name"]このエラーは次のように解決されました。 – Zipette