Junior — Middle
Wie kann man eine schwache Referenz in einer Programmiersprache erstellen?
sobes.tech KI
Antwort von AI
In iOS (Swift) wird das Schlüsselwort weak verwendet, um eine schwache Referenz zu erstellen. Eine schwache Referenz erhöht nicht den Referenzzähler des Objekts, was hilft, Retain-Zyklen und Speicherlecks zu vermeiden.
Beispiel:
class Person {
var name: String
weak var apartment: Apartment? // schwache Referenz
init(name: String) {
self.name = name
}
}
class Apartment {
let unit: String
var tenant: Person? // starke Referenz
init(unit: String) {
self.unit = unit
}
}
// Verwendung:
let john = Person(name: "John")
let unit4A = Apartment(unit: "4A")
john.apartment = unit4A
unit4A.tenant = john
In diesem Beispiel enthält Person eine schwache Referenz auf Apartment, um einen Retain-Zyklus zwischen Person und Apartment zu vermeiden. Wenn beide Referenzen stark wären, würden die Objekte nicht aus dem Speicher entlassen.
Wichtig: Schwache Referenzen sollten optional sein (?), da das Objekt, auf das sie verweisen, gelöscht werden kann.