나는 alloc이 클래스의 객체를 생성하고 클래스에 대한 "isa"포인터를 가리키며 런타임에 메시지가 어떻게 매핑되는지를 나타내는 클래스 메소드라는 것을 알고있다.목표 C에서 alloc은 어떻게 작동합니까?
및 allocWithZone 및 영역에 대한 몇 가지 아이디어가 있습니다.
는 사람이 말해 또는 설명하는 좋은 링크 날 포인트 : -
가방법 ISA 포인터 권리 클래스 가리키는?
얼마나 많은 메모리가 할당됩니까?
상위 클래스에서 상속 된 멤버의 메모리는 어떻게 만들어 집니까?
id가 objc_object *의 typedef 인 경우 포인터가 가리키는 포인터는 무엇이며 객체를 보유하고있는 이유는 포인터가 메소드 선택기가있는 디스패치 테이블로 이동하기 때문에 우리에게 알려주는 것이므로 어떤 데이터 멤버가 거기에 있다고 가정합니까?
'id' 포인터가 아닌 개체를 나타내는 유형, 그래서 그것은'ISA가없는 '자신의. 'id' 타입의 변수를 선언하면, 모든 타입의 객체에 포인터를 할당 할 수 있다는 것을 의미합니다. 컴파일러는 그것에 대해 불평하지 않습니다. 물론 객체 자체는 'isa'멤버를 가지고 있으며, 정의 상으로는 해당 객체가 인스턴스 인 클래스를 가리 킵니다. – Caleb