Sangjin Blog

순환 참조를 방지하기 위해 모든 경우에 약한 참조를 해도 될까?

결론 : 그렇게 하면 안된다. 이유 약한 참조일 경우 객체가 필요한 시점에 이미 메모리에서 해제되기 때문에 nil참조를 하게 되고 오류가 발생함. 강한 참조는 객체의 수명을 제어하기 때문에 강한 참조가 필요함. 순환 참조가 발생할 경우에만 약한 참조 실행. 순환 참조가 발생하는 경우 ```swift class MyCl...

값 타입(Value type)과 참조 타입(Reference type) 8가지 사실

1. 값 타입은 ‘복사’ , 참조 타입은 ‘바로가기’ 값 타입: 변수에 저장시 인스턴스를 복사하여 변수에 저장 참조 타입: 변수에 저장시 인스턴스를 힙 메모리(메모리 누수 디버깅 가이드 참조)에 저장하고, 그 메모리 주소값을 변수에 저장 2. 값 타입은 불변성이 있다. 값 타입은 매번 복사되기 때문에 데이터가 바뀌지 않음. 참...