Я знаю, что вы можете сделать одно из следующих действий при объявлении типа переменной в цели c:
id obj0;
MyClass *obj1;
id<MyProtocol> obj2;
Что меня интересует, так это если это правильно (синтаксически и семантически):
MyClass<MyProtocol> *obj3;
Что я хочу, это хранить класс какао, который должен реализовывать данный протокол в этой переменной; если бы у меня был контроль над «MyClass», мне бы это не понадобилось, но я в основном задаюсь вопросом, могу ли я обойтись без необходимости создавать собственный абстрактный класс, от которого должны наследовать несколько других разрозненных классов, в противном случае они могут просто наследовать » MyClass "напрямую.