В Objective-C вы можете вызвать методы класса с помощью:
[MyClass aClassMethod];
И вы можете запросить тип экземпляра с помощью:
[someInstance isKindOfClass:[MyClass class]];
Но зачем нам делать [MyClass class]
, а не просто предоставлять MyClass
следующим образом:
[someInstance isKindOfClass:MyClass];
Есть ли причина, по которой компилятор в порядке, столкнувшись с MyClass
в качестве получателя (тип указателя), но не как аргумент? Это ограничение для разбора языка? Или, возможно, ограничение компилятора?