Mutating nedir?

Value type olan Struct'larda kullanılmaktadır. Bu kısım önemli, Class'lar ile kullanılmaz çünkü referans tipleri ile kullanılmamaktadır. Mutating anahtar kelimesi ile Struct'ların property'lerinde değişiklik yapabilmeyi mümkün hale getirmektedir. Aşağıdaki örnekte kullanımı gösterilmiştir. Mutating kullanılmaz ise uyarı verecektir.

struct Fruit {

    var type: String
    
    mutating func convertToBanana() {
    
        self.type = "Banana"
    }
}

var fruit = Fruit(type: "Apple")
fruit.convertToBanana()

print(fruit.type) // prints "Banana"

Struct & Mutating