你能声明一个变量类型,它既需要objective-c中的类和协议?

时间:2010-05-07 15:19:58

标签: objective-c

我知道在目标c中声明变量的类型时,您可以执行以下操作之一:

id obj0;
MyClass *obj1;
id<MyProtocol> obj2;

我感到好奇的是,这是否有效(语法和语义上):

MyClass<MyProtocol> *obj3;

我想要的是存储一个必须在这个变量中实现给定协议的cocoa类;如果我控制了“MyClass”我不需要这个,但我基本上想知道我是否可以摆脱不必制作我自己的抽象类,其他多个不同的类需要继承,当它们可以否则只能继承“ MyClass“直接。

1 个答案:

答案 0 :(得分:3)

MyClass<MyProtocol> *obj3;

表示obj3应该是指向MyClass类型的对象或子类的指针,它也实现MyProtocol