[swift] weak 참조 사용 예시
class Person { let name: String var apartment: Apartment?
init(name: String) {
self.name = name
}
deinit {
print("\(name)가 메모리에서 해제됨")
} }
class Apartment { let unit: String weak var tenant: Person?
init(unit: String) {
self.unit = unit
}
deinit {
print("아파트 \(unit)가 메모리에서 해제됨")
} }
var john: Person? var unit4A: Apartment?
john = Person(name: “John Doe”) unit4A = Apartment(unit: “4A”)
john!.apartment = unit4A unit4A!.tenant = john
john = nil unit4A = nil ```