728x90
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 |
댓글