2012-01-17 83 views
-1

說例如我已經在一個類中聲明瞭一個協議,我希望它在不同的類中被調用。可能嗎。如何在另一個類中調用協議方法

@protocol testProtocol 
@required 

- (void) showTestProtocol:(Call *)callObject; 

@end 

@interface TestClass1 : UITableViewController { 
     id<testProtocol> delegate; 

} 
@property (nonatomic, retain) id delegate; 
在實現類

@synthesize delegate; 

實際上另一類具有在協議中聲明的方法的定義。現在我怎麼能在另一個類中使用這個協議來調用這個方法呢?我需要所有其他類應該使用這種方法。

在此先感謝

+1

我不明白,哪個對象應該調用哪個對象的哪個方法?在確認協議的類上,可以從協議調用該方法,就像該類自定義此方法一樣。 – V1ru8 2012-01-17 10:36:24

+1

我不認爲你完全正確地理解協議的概念。請閱讀Apple開發人員文檔,並更清楚地重寫您的問題。 – Greg 2012-01-17 11:06:24

+0

還要確保你沒有通過保留一個委託來創建一個保留週期 - 通常一個委託被分配並且不被保留! – Till 2012-01-17 11:07:03

回答

0

如果您想使用另一個類(比如ClassA的)這個協議中聲明的方法,你先導入在此協議中定義的頭文件(.h)中。然後,ClassA必須符合協議。如果你希望所有的類都能夠實現這個方法,並且你不想明確地確認這個協議,那麼你應該考慮使用使用類別的非正式協議。

相關問題