No exemplo abaixo, entendi que modificar o cart.items não chega a ser uma alteração de valor da cart. Correto?
class Cart {
var buyer:String
var items = Array<Items>()
init(buyer:String) {
self.buyer = buyer
}
}
class Items {
var product:String
var price:Double
var qty:Int
init(product:String, price:Double, qty:Int) {
self.product = product
self.price = price
self.qty = qty
}
}
let cart = Cart(buyer: "Ricardo")
let item1 = Items(product: "Frango", price: 9.9, qty: 6)
let item2 = Items(product: "Arroz", price: 5.6, qty: 4)
cart.items.append(item1)
cart.items.append(item2)
A mudança de valor só ocorreria se tentasse fazer isso (continuando o mesmo código acima):
cart = Cart(buyer: "Novo Comprador")
Que no exemplo dado resulta em crash pois usei let.