辞書の中に辞書の配列があります。iOS Swift Updating Dictionary in Adapters
var fillups:[NSMutableDictionary] = []
それから私はこのようにそれをロードします:
fillups = userDefaults.object(forKey: car) as! NSArray as! [NSMutableDictionary]
私は、配列内の辞書の要素を更新しようとすると、その後、私は「不変オブジェクトに送信された変異法」を取得私はこのようにそれを初期化しますエラー。レコードを更新するコードは次のとおりです。
let dict=fillups[row]
dict.setValue(odometerField.text, forKey: "odometer")
dict.setValue(gallonsField.text, forKey: "gallons")
fillups[row]=dict
最初のsetValue行にエラーが発生します。
'として! NSArrayとして! [NSMutableDictionary] 'これはまるで*これがいつかクラッシュしたかったようです。 ;)巻き戻しを強制したり、強制的に投げたりしないでください。オプションのバインディング( 'if let')や他の安全なアンラッピング手法を使用してください。 – Moritz
これは実際にXcodeが要求した構文でした。しかし、私はこのfillups = userDefaults.object(forKey:car)に変更しました! [NSMutableDictionary]とXcodeはそれを好きでした。しかし、同じ問題を抱えています。 –
Xcodeが正しく動作しませんでした。それは時々...フォースキャストはすでに可能な限り禁止するものなので、ダブルキャストを見ると、あなたは何か非常に間違っていることを知っています。あなた自身。 :) – Moritz