Sobes.tech
Junior

O que são os modificadores de memória strong?

sobes.tech IA

Resposta da IA

O modificador strong mantém uma referência forte ao objeto, impedindo a sua desalocação enquanto existir pelo menos uma referência forte. É usado por padrão para variáveis declaradas sem modificadores especiais.

Exemplo:

class MyClass {
    var name: String = ""

    init(name: String) {
        self.name = name
        print("Objeto '\(name)' criado")
    }

    deinit {
        print("Objeto '\(name)' desalocado")
    }
}

// referência forte
var obj1: MyClass? = MyClass(name: "Primeiro")
// Outra referência forte
var obj2: MyClass? = obj1

print("---")

// Definir uma referência como nil não leva à desalocação
obj1 = nil
print("---")

// Definir a última referência forte como nil leva à desalocação
obj2 = nil
print("---")