Не могли бы вы как-нибудь использовать ученика? Вызов [[A class] superclass]
возвращает экземпляр класса Class
для суперкласса self. Я думаю, что вы можете получить имя класса из его Class
- это будет делать то, что вы хотите?
Это не совсем работает с протоколами, но, возможно, это укажет вам, по крайней мере, правильное направление.