2012-01-17 86 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必须符合协议。如果你希望所有的类都能够实现这个方法,并且你不想明确地确认这个协议,那么你应该考虑使用使用类别的非正式协议。

相关问题