Daily iOS
메모리·ARC

ARC 소유권과 해제 시점

Swift로 만든 iOS 앱에서 ARC는 class 인스턴스의 수명을 어떻게 관리합니까?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

인스턴스마다 strong 참조 개수를 세는 카운트를 두고, 변수에 대입하거나 넘길 때 컴파일러가 retain을, 스코프를 벗어나거나 nil을 넣을 때 release를 끼워 넣어서 카운트가 0이 되는 그 순간 deinit을 부르고 메모리를 돌려준다. weak과 unowned는 이 카운트를 올리지 않는다.

받은 질문 공유