-
[UIKit] 순환참조를 피해보자 : [weak self], [unowned self]Swift/UIKit 2022. 7. 8. 16:44
weak 은 무엇이고 순환참조(retain cycle) 은 무엇 일까?
[Swift] 메모리 관리를 위한 약한 참조 : weak
1. 원래 Swift는 메모리에 올리고 내리는걸 직접 해줘야 했다 2. 하지만 ARC (Automatic Reference Counting) 라는걸 통해 더 이상 변수의 값을 쓰지 않으면 자동으로 메모리에서 내려준다 3. 기본적으로 var
insubkim.tistory.com
You don’t (always) need [weak self]
순환참조(Retain Cycle)를 피하기 위해 Swift 클로저 내부에서 weak self를 사용하는 방법에 대해 이야기하고, weak self가 필요할 수도 있고 필요하지 않을 수도 있는 경우에 대한 글.
velog.io
[Swift] Closure에서 weak self 의 사용
weak self의 사용 weak reference(약한 참조)는 애플의 WWDC 영상에 따르면 Strong Reference Cycle(강력 순환 참조)를 벗어나기 위해 사용한다고 설명하고 있다. Closure를 사용하면서 closure 내부에 self를 사..
greenchobo.tistory.com
결론 ->
closure의 실행문에서 self를 참조할 경우 조심해야한다.
retain cycle이 발생해 memory가 해제 되지 않는 경우가 발생할수 있기 때문이다.
방지하기 위해 closure에서 self를 참조하는 경우에는 [weak self] in 을 붙여 순환참조를 피해주자
예시
👇👇
'Swift > UIKit' 카테고리의 다른 글