Я где-то читал, что Objective-C когда-то был реализован как препроцессор над C, но это уже не так. Хотя среда выполнения доступна в C, я не думаю, что есть способ генерировать код C из кода Objective-C с помощью современных компиляторов (хотя это, вероятно, технически выполнимо, если вещи не становятся слишком уродливыми).
Однако есть несколько реликвий этого прошлого. Если вы щелкните правой кнопкой мыши id
и выберите Перейти к определению , вы увидите typedef. Если вы отладите свой код и посмотрите на структуру объекта, вы увидите, что его первое поле всегда является структурой суперкласса, и что оно проходит вплоть до isa
. А Apple предоставляет документацию по среде выполнения , которая может дать вам некоторое представление о том, как все это работает.