"Но тогда компилятор выдаст мне ошибку, что parserClass может не отвечать на parseNumber"
Если вам просто нужно игнорировать сообщение об ошибке.Поместите это в класс, который имеет метод вызывающего:
#import "NCParser.h"
решит вашу проблему.Это просто работает!
Я думаю, XCode основывается на вашем импорте, чтобы определить методы для Class
.
.Класс "
Вы можете проверить NCObject
или id
на соответствие протоколу во время компиляции, используя id <AProtocol>
.Но я не думаю, что вы можете сделать это для Class
объекта.
Мой подход - проверить это во время выполнения.Как это:
NSObject *object = [[class alloc] init];
NSAssert ([object conformsToProtocol:@protocol(AProtocol)],
@"`class` should conform AProtocol");