Sobes.tech
Junior — Middle

Камели вазифаи калимаи 'mutating' дар контексти барномасозии Swift?

sobes.tech AI

Ҷавоб аз AI

Дар Swift калидӣ калимаи mutating дар методҳои сохторҳо ва enumeration истифода мешавад, то нишон диҳад, ки ин метод хусусиятҳои намунаи онро тағир медиҳад (мутаҳаррик мекунад).

Ба таври пешфарз, методҳо дар сохторҳо ва enumerationҳо наметавонанд хусусиятҳои худро тағир диҳанд, зеро онҳо намудҳои арзишӣ мебошанд ва бо арзиш гузаронида мешаванд. Барои иҷозат додан ба тағир додани хусусиятҳо дар дохили метод, бояд онро ҳамчун mutating нишон диҳед.

Масалан:

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

var counter = Counter()
counter.increment()  // ҳоло count 1 аст

Бе mutating, компилятор хато медиҳад, агар метод кӯшиш кунад, ки хусусиятҳои сохтор ё enumeration-ро тағир диҳад.