I've a NSObject class as follows:
class Number: NSObject {
var number: Int = 0
init(newNumber: Int) {
self.number = newNumber
}
}
And then I'm creating an array of this Number
object as follows:
var numbersArr = [Number(newNumber: 1), Number(newNumber: 2)]
Now I want to change number
property of an element of the existing array and append it as a new element. I'm doing it like:
var newItem = numbersArr[1]
newItem.number = 4
numbersArr(newItem)
I expect new value of numbersArr
to be [1, 2, 4]
but what I get is [1, 4, 4]
.
I understand that I'm changing the value of existing element instead of creating a new one and then appending it. But how can I achieve the desired result?
I can't initialize a new Number
object and then append it. There are some other properties also in my actual NSObject class which needs to remain same.