Sobes.tech
Junior — Middle

Swift dilində siniflərdə obyektlərin vəziyyətini dəyişən metodlar elan etmək mümkündürmü?

sobes.tech Süni İntellekt

AI-dan cavab

Swift-də, obyektin vəziyyətini dəyişən metodlar mutating açar sözü ilə elan edilir, amma bu yalnız strukturlar və enumerasiyalar (dəyər növləri) üçün keçərlidir. Siniflər (istinad növləri) üçün, metodlar standart olaraq nümunənin xüsusiyyətlərini dəyişə bilər, əlavə açar sözə ehtiyac yoxdur.

Yəni:

  • Siniflərdə, mutating olmadan obyektin vəziyyətini dəyişən metodlar elan edilə bilər.
  • Struktur və enumerasiyalarda, xüsusiyyətləri dəyişən metodlar mutating kimi işarələnməlidir.

Dəyişən metod nümunəsi:

class Counter {
    var count = 0
    func increment() {
        count += 1
    }
}

let counter = Counter()
counter.increment()
print(counter.count) // 1

mutating metod nümunəsi:

struct Counter {
    var count = 0
    mutating func increment() {
        count += 1
    }
}

var counter = Counter()
counter.increment()
print(counter.count) // 1