본문 바로가기
앱/iOS(Swift)

[Swift] 클로저에서 self 를 사용하는 이유

by 리드맥 2022. 2. 16.

클로저는 힙메모리에 있는데 만일 클로저가 ViewController 보다 메모리에 오래남아있으면  ViewController 가 사라진후 클로저를 실행하려고 하면 앱 충돌이 일어난다. 힙메모리에 없는것을 가리키기 떄문이다.

weak를 사용하는 방법도 있는데 이것도 순환을 깨버릴 수 도 있다

self 를 사용하면 옵셔널 타입의 UIViewController 이 된다. 

클로저에서 self 는 인자로 받는 weak self 인데 클로저 특성으로 weak self 는 생략 가능하다

' > iOS(Swift)' 카테고리의 다른 글

[Swift] 프로토콜  (0) 2022.02.18
[Swift] Extension  (0) 2022.02.17
[Swift] gesture  (0) 2022.02.14
[iOS] Attributes inspector Content Mode Redraw  (0) 2022.02.08
[Swift] View  (0) 2022.01.29

댓글