Junior — Middle
Објасните зашто одсуство вредности у слабој референцији не изазива грешке или непожељне последице у вашој апликацији.
sobes.tech АИ
Одговор од АИ
Slaba referenca (weak reference) u iOS ne drži objekat u memoriji, pa kada na objekat više nema jakih referenci, on može biti oslobođen od strane sakupljača smeća (ARC). Nedostatak vrednosti u slabo referenciranom pokazivaču znači da je objekat već uklonjen, i to ne izaziva greške ako se pravilno proveri prisustvo objekta pre korišćenja. Obično se slabe reference koriste za sprečavanje cikličkih referenci, na primer, kod delegata:
class DelegateHolder {
weak var delegate: SomeDelegate?
}
Ako je objekat delegata uklonjen, delegate će postati nil, i to se sigurno obrađuje u kodu.