Junior
Kas ir strong atmiņas modifikatori?
sobes.tech AI
Atbilde no AI
strong modifikators saglabā stipru atsauci uz objektu, novēršot tā deallocāciju, kamēr pastāv vismaz viena stipra atsauce. Parasti tas tiek izmantots mainīgajiem, kas deklarēti bez īpašiem modifikatoriem.
Piemērs:
class MyClass {
var name: String = ""
init(name: String) {
self.name = name
print("Objekts '\(name)' izveidots")
}
deinit {
print("Objekts '\(name)' deallocēts")
}
}
// stipra atsauce
var obj1: MyClass? = MyClass(name: "Pirmais")
// Cita stipra atsauce
var obj2: MyClass? = obj1
print("---")
// Vienas atsauces iestatīšana uz nil neizraisa deallocāciju
obj1 = nil
print("---")
// Pēdējās stiprās atsauces iestatīšana uz nil izraisa deallocāciju
obj2 = nil
print("---")