Sobes.tech
Junior — Middle

Ar įmanoma, kad vienas objektas turėtų kelis nuorodų vienu metu?

sobes.tech AI

Atsakymas iš AI

Taip, iOS (tiek Swift, tiek Objective-C) vienas objektas gali turėti kelias nuorodas vienu metu. Tai dažna situacija, kai kelios kintamosios ar savybės nurodo tą patį klasės egzempliorių. Svarbu suprasti, kad objekto gyvavimo ciklas valdomas per nuorodų skaičių (ARC — Automatic Reference Counting). Objektas egzistuos tol, kol turės bent vieną stiprią nuorodą. Pavyzdžiui:

class Person {}

let person = Person()  // pirmoji stipri nuoroda
let anotherReference = person  // antroji stipri nuoroda

Čia person ir anotherReference nurodo tą patį Person objektą. Objektas bus ištrintas iš atminties tik tada, kai abi nuorodos nustos egzistuoti arba bus nuliuotos.