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("---")