Это действительно может. Соответствующей документацией для этого является Справочник по Objective-C Runtime ; в частности, class_getInstanceVariable
. Часть, которую пропускает документация, состоит в том, что эта функция возвращает NULL
, когда экземпляры класса не имеют такой переменной.
KVC, по-видимому, передает класс объекта и имена переменных-кандидатов этой функции, и первое имя, для которого среда выполнения получает Ivar
, - это имя, которое оно использует.