2010-05-07 52 views
1

我知道,你可以声明目标C变量的类型时,做下面的事情之一:你可以声明一个变量类型,它们都需要objective-c中的类和协议吗?

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

我很好奇的是,如果这是有效的(语法和语义):

MyClass<MyProtocol> *obj3; 

我想要的是存储一个可可类,必须在此变量中实现给定的协议;如果我控制了“MyClass”,我不需要这个,但是我基本上想知道如果我不能让自己的抽象类脱离多个其他不同的类需要继承的时候,他们可以从其他方面继承“ MyClass“直接。

回答

3

是的。

MyClass<MyProtocol> *obj3; 

意味着obj3应该是指向MyClass类型或子类的一个对象,也实现MyProtocol

相关问题