Sobes.tech
Junior — Middle

Ինչպե՞ս կարելի է թույլ կապ ստեղծել ծրագրավորման լեզվում։

sobes.tech AI

Պատասխան AI-ից

iOS (Swift)-ում թեթև հղում ստեղծելու համար օգտագործվում է weak բանալի բառը: Թեթև հղումը չի ավելացնում օբյեկտի հղումների հաշվիչը, ինչը օգնում է խուսափել պահման ցիկլերից և հիշողության արտահոսքներից:

Օրինակ՝

class Person {
    var name: String
    weak var apartment: Apartment? // թեթև հղում

    init(name: String) {
        self.name = name
    }
}

class Apartment {
    let unit: String
    var tenant: Person? // ուժեղ հղում

    init(unit: String) {
        self.unit = unit
    }
}

// Օգտագործում՝
let john = Person(name: "John")
let unit4A = Apartment(unit: "4A")
john.apartment = unit4A
unit4A.tenant = john

Այս օրինակով, Person պարունակում է թեթև հղում Apartment-ին, որպեսզի խուսափի պահման ցիկլից Person և Apartment միջև: Եթե երկու հղումները լինեին ուժեղ, օբյեկտները չեն ազատվի հիշողությունից:

Մեծ կարևորություն է՝ թեթև հղումները պետք է լինեն ընտրովի (?), քանի որ հղում ունեցող օբյեկտը կարող է ջնջվել։