1
NSObject에는 retainCount
인스턴스 변수가 없다는 것을 알고 있습니다. 실제로 수명 또는 참조 계산 환경과 관련된 인스턴스 변수가 없습니다. 따라서 내 질문은 NSObject (또는 해당 객체에 대한 객체)가 ivar없이 자체 참조 횟수를 추적하는 방법은 무엇입니까?NSObject의 참조 계산 시스템은 어떻게 작동합니까?
더 일반적으로 명시 적 참조 카운트 인스턴스 변수를 사용하지 않고 참조 계산 환경을 생성하기위한 다른 시스템은 무엇입니까?
나는 그것에 의존하지 않고있다. 나는 애플이 어떻게 구현하는지 궁금해하고있다. – Ephemera
외부 테이블을 사용하면 매우 중요한 비용이 발생합니다 (잠금 + 해시 조회 대 간단한 원자 추가). NSObject를 복사하는 것을 권장하지 않습니다. 즉, libobjc는 오픈 소스입니다. opensource.apple.com (프로젝트 이름은 objc4)에서 어떻게 작동하는지 읽을 수 있습니다. –
@Catfish_Man 다른 방법으로 구현 한 경우 다른 성능 오버 헤드가 있어야한다고 생각했습니다. 포인터 주셔서 감사합니다, 나는 그 소스를 살펴 보면서 조금만있을 것 같습니다! – Ephemera