Junior
Šta su strong modifikatori memorije?
sobes.tech АИ
Одговор од АИ
Modifikator strong održava jaku referencu na objekat, sprečavajući njegovo deallociranje dok postoji bar jedna jaka referenca. Podrazumevano se koristi za promenljive deklarisane bez posebnih modifikatora.
Primer:
class MyClass {
var name: String = ""
init(name: String) {
self.name = name
print("Objekat '\(name)' kreiran")
}
deinit {
print("Objekat '\(name)' deallociran")
}
}
// jaka referenca
var obj1: MyClass? = MyClass(name: "Prvi")
// Druga jaka referenca
var obj2: MyClass? = obj1
print("---")
// Postavljanje jedne reference na nil ne vodi do deallociranja
obj1 = nil
print("---")
// Postavljanje poslednje jake reference na nil vodi do deallociranja
obj2 = nil
print("---")