Junior — Middle
Koje su prednosti i mane korišćenja tipa Unowned u programiranju?
sobes.tech АИ
Одговор од АИ
Tip unowned u Swift-u koristi se za kreiranje slabe reference koja ne povećava brojač referenci, ali se pretpostavlja da će objekat na koji se odnosi uvek postojati tokom korišćenja.
Prednosti:
- Izbegava jake cikluse referenci, sprečavajući curenje memorije.
- Nije opcionalan, stoga ne zahteva otpakivanje (unwrap).
Nedostaci:
- Ako objekat na koji se odnosi
unownedbude oslobođen, pristup toj referenci će izazvati grešku u toku izvršavanja. - Zahteva poverenje da je životni vek referenciranog objekta duži ili jednak životnom veku reference.
Primer upotrebe:
class Owner {
var pet: Pet?
}
class Pet {
unowned let owner: Owner
init(owner: Owner) {
self.owner = owner
}
}
let owner = Owner()
owner.pet = Pet(owner: owner)
Ovde Pet drži unowned referencu na Owner da bi izbegao jake cikluse referenci.