ARC iOS/Swift - ARC에 대해 (3) 클로저 내에서 발생하는 Strong Reference Cycle 해결하기 이런 문제를 해결하기 위해서 클로저 내에서 “capture list”를 정의한다. capture list는 클로저 바디 내에서 다른 reference type (i.e class) 에 접근할 때 어떤 규칙을 가지고 접근할지 정의하는 것이다. 클로저 내에서 self를 캡쳐하면 그 default가 strong referen... swiftiOSARCARC iOS/Swift - ARC에 대해 (1) 자동적으로 클래스 인스턴스 가 필요 없을 때 메모리에서 잘 해제해준다. 한 클래스 인스턴스를 생성할 때, ARC는 메모리에 해당 클래스에 대한 참조 정보를 할당한다. 그리고 해당 객체가 더 이상 쓰일 필요가 없을 때 ARC는 이 객체를 메모리에서 해제한다. ARC가 해당 객체를 메모리에서 해제할지 말지는 해당 객체에 대한 참조 횟수가 0이냐 아니냐에 달려있다. 참조 횟수가 1이상이면 메모리에... iOSARCswiftARC ARC(Auto Reference Counting) 참조 카운트(Reference Count)를 통해 힙 영역의 메모리를 관리합니다. 해당 인스턴스가 더 이상 필요하지 않을 때(참조 카운트가 0이 됐을 때) 클래스 인스턴스에서 사용하는 메모리를 자동으로 해제합니다. GC(Garbage Collection)와 RC(Reference Count)가 있습니다. RC만큼 메모리 누수가 되는 순환 참조에 대해서 고려하지 않아도 됩니다. 런타임 때 참조... ARCswiftRCGCiOSARC [Swift 공식문서 읽기]Automatic Reference Counting 자동으로 참조 횟수를 관리하기 때문에 대부분의 경우에 개발자는 메모리 관리에 신경쓸 필요가 없고 ARC가 알아서 더이상 사용하지 않는 인스턴스를 메모리에서 해지합니다. 그래서 ARC는 최소 하나라도 그 인스턴스에 대한 참조가 있는 경우 그 인스턴스를 메모리에서 해지 하지 않습니다. 이 시점에 Person 인스턴스의 참조 횟수는 3이 됩니다. 앞선 예제에서 보았다시피 ARC에서 기본적으로 참조... Automatic Reference CountingARCswiftARC
iOS/Swift - ARC에 대해 (3) 클로저 내에서 발생하는 Strong Reference Cycle 해결하기 이런 문제를 해결하기 위해서 클로저 내에서 “capture list”를 정의한다. capture list는 클로저 바디 내에서 다른 reference type (i.e class) 에 접근할 때 어떤 규칙을 가지고 접근할지 정의하는 것이다. 클로저 내에서 self를 캡쳐하면 그 default가 strong referen... swiftiOSARCARC iOS/Swift - ARC에 대해 (1) 자동적으로 클래스 인스턴스 가 필요 없을 때 메모리에서 잘 해제해준다. 한 클래스 인스턴스를 생성할 때, ARC는 메모리에 해당 클래스에 대한 참조 정보를 할당한다. 그리고 해당 객체가 더 이상 쓰일 필요가 없을 때 ARC는 이 객체를 메모리에서 해제한다. ARC가 해당 객체를 메모리에서 해제할지 말지는 해당 객체에 대한 참조 횟수가 0이냐 아니냐에 달려있다. 참조 횟수가 1이상이면 메모리에... iOSARCswiftARC ARC(Auto Reference Counting) 참조 카운트(Reference Count)를 통해 힙 영역의 메모리를 관리합니다. 해당 인스턴스가 더 이상 필요하지 않을 때(참조 카운트가 0이 됐을 때) 클래스 인스턴스에서 사용하는 메모리를 자동으로 해제합니다. GC(Garbage Collection)와 RC(Reference Count)가 있습니다. RC만큼 메모리 누수가 되는 순환 참조에 대해서 고려하지 않아도 됩니다. 런타임 때 참조... ARCswiftRCGCiOSARC [Swift 공식문서 읽기]Automatic Reference Counting 자동으로 참조 횟수를 관리하기 때문에 대부분의 경우에 개발자는 메모리 관리에 신경쓸 필요가 없고 ARC가 알아서 더이상 사용하지 않는 인스턴스를 메모리에서 해지합니다. 그래서 ARC는 최소 하나라도 그 인스턴스에 대한 참조가 있는 경우 그 인스턴스를 메모리에서 해지 하지 않습니다. 이 시점에 Person 인스턴스의 참조 횟수는 3이 됩니다. 앞선 예제에서 보았다시피 ARC에서 기본적으로 참조... Automatic Reference CountingARCswiftARC