Sobes.tech
Middle

Wie funktionieren Zähler (Retain Counts) mit Strong Links in iOS?

sobes.tech KI

Antwort von AI

Wenn ein Objekt einer Variablen mit einer starken Referenz zugewiesen wird, erhöht sich der Referenzzähler des Objekts um 1. Wenn die starke Referenz auf null gesetzt wird oder den Gültigkeitsbereich verlässt, verringert sich der Referenzzähler um 1. Das Objekt wird deallokiert, wenn sein Referenzzähler 0 erreicht und es keine starken Referenzen mehr gibt.

Beispiel:

class MyObject {
    deinit {
        // Wird beim Deallokieren des Objekts aufgerufen
        print("MyObject wurde deallokiert.")
    }
}

var object1: MyObject? = MyObject() // object1 - starke Referenz, Referenzzähler von MyObject == 1
var object2 = object1 // object2 - starke Referenz, Referenzzähler von MyObject == 2

object1 = nil // Die starke Referenz object1 wird auf null gesetzt, Referenzzähler von MyObject == 1
object2 = nil // Die starke Referenz object2 wird auf null gesetzt, Referenzzähler von MyObject == 0
// MyObject wird deallokiert