iOS/Swift
weak, [weak self]를 사용하여 순환참조를 해결하기 + 메모리 영역 확인
순환 참조 방지를 위해 다음과 같이 클로저에서 [waek self]를 사용하여 약한 참조( ARC의 retain을 증가시키지 않는 )를 사용하곤 합니다. 습관적으로 모든 클로저에서 [weak self]를 사용하곤 하였는데 이번 아티클을 계기로 [weak self]를 사용하는 이유와 어느 순간에 사용해야 하는지 다시 한번 제대로 알아봅시다! 순환참조란? 서로 다른 객체가 강한 참조로 서로를 참조하면서 메모리에서 해제되지 못하는 상태로 간단한 예시를 살펴봅시다 class Human { var name: String var pet: Pet? init(name: String) { self.name = name } deinit { print("\(name) 메모리 해제") } } class Pet { var na..