Swift의 Memory - 클로저와 self 키워드

June·2023년 3월 17일
0

Swift

목록 보기
13/18
post-thumbnail

self 키워드

인스턴스의 메모리 주소를 캡처한다는 의미

일반적으로 클로저는 외부에 따로 존재하는 경우보다 클래스 내부에 존재하는 경우가 더 많다.
이 때 중요한 것은, 클로저 내에서 객체의 속성 및 메서드 접근 시 반드시 self키워드를 사용해야 한다는 것.
이는 강한 참조를 하고 있다는 것을 표시하기 위한 목적으로, RC를 +1 하는 역할을 한다.


self를 붙이는 방식

  1. self.속성
  2. { [self] in ... }
  • Swift 5.3 이후에는 구조체의 경우 self 생략이 가능하다.
  • 클로저를 객체 내에서 사용시 대부분 weak와 함께 사용된다.
profile
안다고 착각하지 말기

0개의 댓글