Junior — Middle
Heeft Swift automatische garbage collection, vergelijkbaar met GC in andere talen?
sobes.tech AI
Antwoord van AI
In Swift wordt automatische garbage collection (GC) niet op de traditionele manier gebruikt, zoals in Java of C#. In plaats daarvan past Swift een systeem van automatische referentietelling (ARC — Automatic Reference Counting) toe. ARC houdt automatisch het aantal referenties naar een object bij en vrijwaart het geheugen wanneer er geen referenties meer zijn.
Voorbeeld:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
var person1: Person? = Person(name: "Ivan")
var person2 = person1 // verhoogt de referentieteller
person1 = nil // het object leeft nog, omdat person2 ernaar verwijst
person2 = nil // nu wordt het object vrijgegeven
Op deze manier werkt ARC automatisch, maar zonder pauzes en overhead die kenmerkend zijn voor traditionele garbage collectors.