ARC iOS/Swift - ARC에 대해 (3) 클로저 내에서 발생하는 Strong Reference Cycle 해결하기 이런 문제를 해결하기 위해서 클로저 내에서 “capture list”를 정의한다. capture list는 클로저 바디 내에서 다른 reference type (i.e class) 에 접근할 때 어떤 규칙을 가지고 접근할지 정의하는 것이다. 클로저 내에서 self를 캡쳐하면 그 default가 strong referen... swiftiOSARCARC [Swift 공식문서 읽기]Automatic Reference Counting 자동으로 참조 횟수를 관리하기 때문에 대부분의 경우에 개발자는 메모리 관리에 신경쓸 필요가 없고 ARC가 알아서 더이상 사용하지 않는 인스턴스를 메모리에서 해지합니다. 그래서 ARC는 최소 하나라도 그 인스턴스에 대한 참조가 있는 경우 그 인스턴스를 메모리에서 해지 하지 않습니다. 이 시점에 Person 인스턴스의 참조 횟수는 3이 됩니다. 앞선 예제에서 보았다시피 ARC에서 기본적으로 참조... Automatic Reference CountingARCswiftARC ARC #2 Weak Reference는 instance를 Strong hold하지 않기 때문에 instance가 deallocated될 때, ARC는 자동으로 nil을 set 합니다. ⇒ 즉, Garbage Collection과 다르게 ARC는 Strong Reference가 없어졌을 때, instance를 deallocate 시키고, weak는 strong hold하지 않기 때문에, reference... strongStrong Reference CycleiOSARCweakARC
iOS/Swift - ARC에 대해 (3) 클로저 내에서 발생하는 Strong Reference Cycle 해결하기 이런 문제를 해결하기 위해서 클로저 내에서 “capture list”를 정의한다. capture list는 클로저 바디 내에서 다른 reference type (i.e class) 에 접근할 때 어떤 규칙을 가지고 접근할지 정의하는 것이다. 클로저 내에서 self를 캡쳐하면 그 default가 strong referen... swiftiOSARCARC [Swift 공식문서 읽기]Automatic Reference Counting 자동으로 참조 횟수를 관리하기 때문에 대부분의 경우에 개발자는 메모리 관리에 신경쓸 필요가 없고 ARC가 알아서 더이상 사용하지 않는 인스턴스를 메모리에서 해지합니다. 그래서 ARC는 최소 하나라도 그 인스턴스에 대한 참조가 있는 경우 그 인스턴스를 메모리에서 해지 하지 않습니다. 이 시점에 Person 인스턴스의 참조 횟수는 3이 됩니다. 앞선 예제에서 보았다시피 ARC에서 기본적으로 참조... Automatic Reference CountingARCswiftARC ARC #2 Weak Reference는 instance를 Strong hold하지 않기 때문에 instance가 deallocated될 때, ARC는 자동으로 nil을 set 합니다. ⇒ 즉, Garbage Collection과 다르게 ARC는 Strong Reference가 없어졌을 때, instance를 deallocate 시키고, weak는 strong hold하지 않기 때문에, reference... strongStrong Reference CycleiOSARCweakARC