私は2つの辞書を持っています。どちらもviewControllerで宣言されていますが、両方ともモデル構造クラスに基づいています。以前に削除されたアイテムの辞書を更新します。
// ItemDictionary
var ItemDictionary = ItemModel()
var JSONDictionary = ItemModel()
JSONデータがJSONDictionaryに供給され、その後、このデータはのviewDidLoad内のテーブルを供給するItemDictionaryに渡されます。
self.ItemDictionary = self.JSONDictionary
すべていいです。表はJSONデータからうまく取り込まれています。テーブルとItemDictionaryからアイテムを削除することもできます。しかし、元の辞書(JSONDictionary)を参照して項目を追加しようとすると、その項目はなくなりました。
私はこれが予想されることを理解しています。 Dictionary1 = Dictionary2の場合、実際には新しい辞書は作成されません。 2番目のアドレスのみ。したがって、Dictionary1を変更すると、Dictionary2も変更されます。
実際の例では、価格帯を設定することができます。範囲を小さくして、テーブルに表示されるアイテムを少なくすることができます。ただし、価格帯を増やしたい場合は、以前に削除したアイテムを置き換えることはできません。私は範囲を編集するたびにJSONスクリプトを呼び出す必要はありません。アドバイスありがとうございます。
辞書に項目を追加することができます。コードを表示してください。 –
'ItemModel()'によって返される型は何ですか? Swiftの 'Dictionary'ではなく' NSMutableDictionary'を使っているようです。 –