본문 바로가기
Swift

[Swift] closure에서 self를 써야하는 이유

by Sky Titan 2022. 5. 16.
728x90

 

 

closure에서는 왜 self를 사용해야 할까?

closure에서는 왜 self를 사용해야 할까? class에서 closure를 사용할 때 closure 안에서 객체의 변수 또는 함수에 접근할 때 self를 붙여서 사용을 해야합니다. class안에서는 self...

eastjohntech.blogspot.com

closure에서 self를 써야하는 이유

  • closure에서는 아래 2개의 이유 때문에 closure안에서 사용할 객체를 정의하는 capture list를 지원한다.
    • 순환참조 문제 해결
    • 객체의 복사
  • 이 때 self는 closure안에서 사용되기 위해 암묵적으로 이미 capture list에 추가되어 있는 상태이기 때문에 closure에서는 바로 instance 객체에 접근을 할 수가 없고 캡처된 self를 통해서만 접근을 할 수 있다.
728x90

'Swift' 카테고리의 다른 글

[Swift] Class vs Struct  (0) 2022.06.02
[Swift] deinit에서 self에 접근해도 되는가?  (0) 2022.06.02
[Swift] 캡처리스트 (Capture List)  (0) 2022.04.05
[Swift] closure 내부의 weak self 사용  (0) 2022.04.03
[Swift] allSatisfy(_:)  (0) 2022.03.28

댓글