Проблема в том, что MyClass не наследуется от MyClass.
isKindOfClass
работает так, как вы ожидаете, когда используете его как экземпляр метод:
[[classType new] isKindOfClass:[MyClass class]]; // YES
Но когда вы используете его как метод class , он проверяет наследование:
[classType isKindOfClass:[NSObject class]]; // YES
Если вы хотите узнать, является ли classType
[MyClass class]
, используйте ==
, точно так же, как вы делаете.