2010-05-07 51 views
1

我知道,你可以聲明目標C變量的類型時,做下面的事情之一:你可以聲明一個變量類型,它們都需要objective-c中的類和協議嗎?

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

我很好奇的是,如果這是有效的(語法和語義):

MyClass<MyProtocol> *obj3; 

我想要的是存儲一個可可類,必須在此變量中實現給定的協議;如果我控制了「MyClass」,我不需要這個,但是我基本上想知道如果我不能讓自己的抽象類脫離多個其他不同的類需要繼承的時候,他們可以從其他方面繼承「 MyClass「直接。

回答

3

是的。

MyClass<MyProtocol> *obj3; 

意味着obj3應該是指向MyClass類型或子類的一個對象,也實現MyProtocol

相關問題