Sobes.tech
Junior — Middle

Кодто жабдууларды колдонууда өзүңө (weak self) сылтаманы колдонуу эмне үчүн сунушталат?

sobes.tech AI

AIден жооп

Зәиф шилтемен (weak self) жабдууларда колдонуу күчтүү шилтемелер циклин (retain cycles) алдын алуу үчүн зарыл, ал эс тутумдун агып кетишине алып келет.

Жабдуу selfти зәиф шилтемеге алуу менен, жана self бул жабдууну камтыйт (мисалы, мүнөздөмөдө), алар бири-бирин кармайт жана эч кандай объект бошотулбайт.

Зәиф шилтемени колдонуу мисалы:

someAsyncCall { [weak self] in
    guard let self = self else { return }
    self.doSomething()
}

Бул жерде, self зәиф кармалган, ошондуктан эгер self объектиси жабдуудан мурда жок кылынса, жабдуу аны эс тутумда кармабайт, бул агып кетүүнү алдын алат.