메모리·ARC
댕글링 포인터와 Zombie Objects
해제된 객체에 접근하는 댕글링 포인터(야생 포인터)는 ARC 환경에서 어떤 상황에 생기나요?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
해제된 객체에 접근하는 댕글링 포인터(야생 포인터)는 ARC 환경에서 어떤 상황에 생기나요?
ARC가 추적하지 않는 참조에서 생긴다. unowned(unsafe)·Unmanaged·UnsafePointer로 꺼낸 포인터, ObjC의 assign/__unsafe_unretained 프로퍼티, C 콜백에 넘긴 컨텍스트 포인터가 대표적이고 기본 unowned는 트랩으로 잡히는 정의된 동작이라 댕글링이 아니다.
메모리·ARC주관식기초
ARC 이전 Objective-C에서는 retain/release/autorelease를 직접 호출했습니다. 각각 무엇이었고 ARC가 무엇을 바꿨나요?
#objective-c
메모리·ARC객관식기초
Objective-C 코드에서 @property (nonatomic, copy) NSString *name;처럼 NSString 프로퍼티에 strong 대신…
#objective-c
메모리·ARC객관식심화
Objective-C에서 @property (atomic) int a;를 선언하고, 여러 스레드에서 self.a = self.a + 1을 합쳐서 10,000번…
#objective-c
빌드·배포주관식심화
출시된 앱에 치명적인 버그가 있는데 App Store 심사를 기다릴 수 없습니다. 과거 중국 앱들이 쓰던 JSPatch 같은 동적 코드 패치를 Apple은 왜…
#objective-c