Сначала позвольте мне объяснить, что я не имею в виду. Я не хочу вводить аргумент в протокол:
-(void)someMethod:(id<SomeProtocol>)someArgument;
Я хочу передать протокол методу таким же образом, как я могу передать класс методу (Следующее некорректно, но это, надеюсь, объясняет, что я хочу сделать):
-(void)someMethod:(Protocol)someArgument;
Затем я хотел бы иметь возможность использовать протокол для проверки, реализует ли его набор объектов.