728x90
반응형
내부함수를 반환하는 외부함수를 만들 수 있다. 그 경우에 외부함수의 생명주기가 끝나도 내부함수의 생명주기는 끝나지 않는다. 그 이유는 은닉성 때문인데 그래서 내부 함수는 살아남아 내부 함수 주변의 지역 변수나 상수도 함께 살아남아 있다. 그래서 외부함수는 메모리에서 내려왔지만 내부함수의 그 아이들은 메모리에서 내려오지 않고 떠돌아다니며 자리를 차지해 잡아먹는다. 그놈들을 값이 캡처되었다고 말하고 캡처리스트라고 하는데. 클로저에 의해 그렇게 발생하는 것이고, 그런 이유에서 순환참조가 발생하는 것이었다. 충격!
신기해서 기록한다...
728x90
반응형
'⭐️ 개발 > iOS & Swift' 카테고리의 다른 글
[iOS] Swift Attribute 중 @IBInspectable과 @IBDesignable (0) | 2022.08.09 |
---|---|
[iOS] 동기, 비동기 시작하기 앞서 그냥 오늘 배운 거... (0) | 2022.08.05 |
[Swift] 일급 객체, Closure (1) (0) | 2022.08.03 |
[iOS] Alamofire, SwiftyJSON을 사용해서 HTTP 통신하기 (0) | 2022.08.02 |
[Swift] Singleton Pattern (0) | 2022.08.02 |