Sobes.tech
Junior

რა არის strong მეხსიერების მოდიფიკატორები?

sobes.tech AI

პასუხი AI-სგან

strong მოდიფიკატორი ობიექტზე ძლიერ კავშირს ინარჩუნებს და მისი dealloc-ის თავიდან აცილებას ახდენს, სანამ მინიმუმ ერთი ძლიერი კავშირი არსებობს. ჩვეულებრივ გამოიყენება ცვლილებებზე, რომლებიც სპეციალური მოდიფიკატორების გარეშეა გამოცხადებული.

მაგალითი:

class MyClass {
    var name: String = ""

    init(name: String) {
        self.name = name
        print("ობიექტი '\(name)' შექმნილია")
    }

    deinit {
        print("ობიექტი '\(name)' განთავისუფლდა")
    }
}

// ძლიერი კავშირი
var obj1: MyClass? = MyClass(name: "პირველი")
// სხვა ძლიერი კავშირი
var obj2: MyClass? = obj1

print("---")

// ერთ-ერთი კავშირის nil-ად გადაყვანა არ იწვევს განთავისუფლებას
obj1 = nil
print("---")

// ბოლო ძლიერი კავშირის nil-ად გადაყვანა იწვევს განთავისუფლებას
obj2 = nil
print("---")