로딩
요청 처리 중입니다...

ARC(Auto Reference Count)/ 순환참조/ 강한 참조, 약한 참조

 ARC(Auto Reference Count)/ 순환참조/ 강한 참조, 약한 참조

지워져야 할 class가 메모리에 계속 남아 있어 비용이 계속 드는 것을 메모리 누수, Memory Leak이라고 한다. 메모리에 class가 누적되는 것을 예방해주는 것이 ARC다.

자동으로 swift에서 참조 값이 늘어나면 count가 올라가고(retain), 참조 count가 0이 되면 메모리에서 제거된다. 자동으로 해주는데 우리가 왜 신경을 써야할까?

-> 변수를 지우면서 참조가 감소해도 참조가 0이 되지 않는 경우들이 있다. : 순환참조 두 객체가 서로를 참조하고 있어 참조가 계속 증가한다. 순환참조로 인해 reference count가 0이 되지 않는 모습, 이를 확인할 수 있는데 CFGetRetainCount()를 사용하면 count 값이 몇인지 볼 수 있다. class ClassOne { var reference: ClassTwo?

} class ClassTwo { var reference: ClassOne? } // reference count var class1 =...