메모리·ARC
ARC 해제 단계와 weak/unowned 선택
객체의 마지막 strong 참조가 사라지는 순간부터 메모리가 실제로 반환되기까지 ARC가 하는 일을 단계별로 설명해 주세요.
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
객체의 마지막 strong 참조가 사라지는 순간부터 메모리가 실제로 반환되기까지 ARC가 하는 일을 단계별로 설명해 주세요.
release → strong 카운트 0 → deinit(서브클래스→부모) → 저장 프로퍼티 release로 자식 객체 연쇄 해제 → weak 참조는 이후 로드 시 nil, unowned 참조가 남아 있으면 unowned 카운트가 0이 될 때까지 메모리 유지 → free.
메모리·ARC주관식입문
옵셔널 언래핑이 귀찮아서 모든 delegate를 weak 대신 unowned로 선언하려는 동료가 있습니다. unowned 참조가 옵셔널이 아닌 이유는 무엇입니까?
#arc #weak #unowned
메모리·ARC객관식입문
weak 참조에 대한 설명으로 맞는 것을 모두 고르세요.
#weak #unowned
메모리·ARC주관식기초
특정 화면을 닫아도 그 뷰컨트롤러가 메모리에서 사라지지 않는 것 같습니다. 순환 참조가 실제로 있는지 어떻게 확인하겠습니까?
#deinit #weak
메모리·ARC주관식기초
weak 대신 unowned를 쓰는 기준은 무엇인가요?
#weak #unowned