Sobes.tech
Junior — Middle

ARC автоматтык эс тутумду башкаруу системасы объекттерге шилтемелерди кантип көзөмөлдөйт жана башкарат?

sobes.tech AI

AIден жооп

ARC (Автоматтык шилтемелердин санын эсептөө) — iOSтогу эс тутумду башкаруу системасы, ал автоматтык түрдө объекттерге шилтемелердин санын көзөмөлдөйт.

Ишке ашыруу принциби:

  • Ар бир объекттин шилтемелердин саны бар.
  • Жаңы күчтүү шилтеме түзүлгөндө, сан көбөйөт.
  • Шилтеме өчүрүлүп же nil болсо, сан азайтылат.
  • Эгер сан нөлгө жетсе, объект автоматтык түрдө эс тутумдан чыгарылат.

ARC кодду компиляция учурунда анализдеп, объекттердин жашоо циклин башкаруу үчүн retain/release чакырууларын кошот, бул кол менен эс тутумду башкарууну талап кылбайт.

Эсте тутуу керек, циклик шилтемелерден (retain cycles) качуу маанилүү; анда эки объект бири-бирине күчтүү шилтемелер менен шилтеме кылып, эс тутумдун бошотулушуна тоскоол болот. Бул үчүн, алсыз (weak) же ээлик кылбаган (unowned) шилтемелер колдонулат.