In code below, list1 is original Array. when i copy list1 in list2, it passes "allCardList" array as reference but i want to create copy of list1 so when i change in list2 it shouldn't change original Array (list1)
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
Any help you that?