Junior — Middle
Эгер үч алсыз (weak) жана бир милдеттүү эмес (unowned) шилтеме ага көрсөтсө, анда объект автоматтык түрдө эс тутумдан чыгарылабы?
sobes.tech AI
AIден жооп
Объект автоматтык түрдө эс тутумдан өчүрүлөт, эгер ага күчтүү (strong) шилтемелер калбаса. Слабые (weak) жана милдеттүү эмес (unowned) шилтемелер объекттин шилтемелер санын көбөйтпөйт. Сиздин учурда, эгерде үч weak жана бир unowned шилтеме гана болсо, бирок эч кандай strong жок болсо, объект колдонулбайт деп эсептелип, ал деаллокатор болот.
Мисал:
class MyClass {}
var strongRef: MyClass? = MyClass() // күчтүү шилтеме
weak var weakRef1 = strongRef
weak var weakRef2 = strongRef
weak var weakRef3 = strongRef
unowned var unownedRef = strongRef!
strongRef = nil // эми күчтүү шилтемелер жок, объект өчүрүлөт