Back to questions
Middle
103
questionbank
Как счетчики (retain counts) работают со стронг ссылками в iOS?
Sobes Copilot
Get answers in real time
Answer from AI
sobes.tech AI
При присвоении объекта переменной со стронг-ссылкой счетчик ссылок объекта увеличивается на 1. Когда стронг-ссылка обнуляется или выходит из области видимости, счетчик ссылок уменьшается на 1. Объект деаллоцируется, когда его счетчик ссылок достигает нуля и больше не имеет стронг-ссылок.
Пример:
class MyObject {
deinit {
// Вызывается при деаллокации объекта
print("MyObject деаллоцирован.")
}
}
var object1: MyObject? = MyObject() // object1 - сильная ссылка, счетчик ссылок MyObject == 1
var object2 = object1 // object2 - сильная ссылка, счетчик ссылок MyObject == 2
object1 = nil // Сильная ссылка object1 обнулена, счетчик ссылок MyObject == 1
object2 = nil // Сильная ссылка object2 обнулена, счетчик ссылок MyObject == 0
// MyObject деаллоцируется