매주 진행하는 면접스터디에서 아래의 질문들에 대한 정리를 모은 글입니다.
Interview_Question_for_Beginner/iOS
객체의 retain count를 증가시키지 않는다. 외부에서 retain count를 감소시켜 객체가 소멸될 수 있기 때문에 Int와 같은 Primitive Type에 적합하다.
객체가 소멸되어도 포인터 값이 변하지 않는다.
객체가 해제되는 시점에 포인터 값이 nil이 된다. assign의 문제점은 객체가 해제되어도 포인터값이 남아있어 접근하려다가 죽는 경우가 생긴다는 점이다. Objective-C는 기본적으로 nil에 접근할 때는 에러가 발생하지 않는다.
기존 OOP의 파괴자(Destructor)와 비슷한 마무리 용도의 기능으로 deinit이 있다. Objective-C의 dealloc 메소드와 비슷한 용도이다.
weak는 마지막 강한 참조가 더이상 객체를 가리키지 않으면 객체는 할당이 해제되고 모든 약한 참조는 해제된다.