Principala diferență dintre slab și neposedat este că weak este opțional, în timp ce unowned este neopțional Declarând că este slab, puteți gestiona cazul în care ar putea fi nul în interiorul închidere la un moment dat. Dacă încercați să accesați o variabilă neproprietă care se întâmplă să fie nulă, întregul program va bloca.
Când ar trebui să folosiți neposedat sau slab?
Folosiți o referință slabă ori de câte ori este valabilă pentru acea referință va deveni zero la un moment dat în timpul vieții sale. În schimb, utilizați o referință neproprietă atunci când știți că referința nu va fi niciodată nulă după ce a fost setată în timpul inițializării.
Care este diferența dintre slab și neposedat?
Prima diferență despre care trebuie să știți este că o referință nedeținută este întotdeauna de așteptat să aibă o valoare.… Când se întâmplă acest lucru, referința este setată la nil. Deoarece o referință slabă poate fi setată la nil, este întotdeauna declarată ca opțională. Aceasta este a doua diferență între referințele slabe și cele neproprietate.
Care este diferența dintre o referință slabă și o referință neproprietă?
Atât referințele slabe, cât și cele nedeținute nu vor afecta numărul de referințe al obiectului. Dar referința slabă va fi întotdeauna opțională, adică poate fi zero, în timp ce referințele nedeținute nu pot fi niciodată zero, așa că nu vor fi niciodată opționale.
Ce este puternic slab și neposedat?
Diferența cheie dintre o referință puternică și o referință slabă sau neproprietă este că o referință puternică împiedică dealocarea instanței de clasă către care indică. Este foarte important de înțeles și de reținut. … Cu alte cuvinte, referințele slabe și neproprietate nu pot împiedica dealocarea unei instanțe de clasă