Junior
O que são os modificadores de memória strong?
sobes.tech IA
Resposta da IA
O modificador strong em Swift indica que uma referência a um objeto aumenta o contador de referências desse objeto em um. Isso significa que o objeto será mantido na memória enquanto existir pelo menos uma referência forte a ele.
É usado por padrão para tipos de referência (classes). Atribuir nil a uma variável com o modificador strong diminui o contador de referências. Quando o contador de referências chega a zero, o objeto é liberado da memória.
Exemplo:
class Person {
var name: String
init(name: String) {
self.name = name
print("\(name) está sendo inicializado")
}
deinit {
print("\(name) está sendo desinicializado")
}
}
var reference1: Person?
var reference2: Person?
reference1 = Person(name: "Alice") // Contador de referências para Alice: 1
reference2 = reference1 // Contador de referências para Alice: 2
reference1 = nil // Contador de referências para Alice: 1
reference2 = nil // Contador de referências para Alice: 0, Alice é desinicializada