以下のコードでは、list1は元の配列です。 私はリスト2にリスト1をコピーするとき、私は、リスト2に変更したときにそれが元の配列(リスト1)クラスオブジェクトのスワイプ配列のコピーを作成する方法
class Card {
var availableBalance = "5"
}
class DataCacheManager: NSObject {
var allCardList = [Card]()
}
var card = Card()
card.availableBalance = "10"
var list1 = DataCacheManager()
list1.allCardList.append(card)
var list2 = DataCacheManager()
for item in list1.allCardList {
list2.allCardList.append(item)
}
list2.allCardList[0].availableBalance = "20"
print(list1.allCardList[0].availableBalance) // print 20 but should return 10
どれでも助けあなたを変更しないでください、それを基準として「allCardList」配列を渡しますが、私はリスト1のコピーを作成したいですそれ?
もちろん、参照オブジェクトを変更しているので、20が印刷されます。異なる値を使用する場合は、配列を詳細にコピーする必要があります。 – Gihan
ディープコピーはどうすればいいですか? –