2010-09-15 63 views
2

以下类别是什么,我试图做的:扩展协议,从一类在Objective-C

id<MyDelegate> _delegate; 
.... 
[_delegate performSelectorOnMainThread...] 

@protocol MyDelegate <NSObject> 
.... 

我的问题是performSelectorOnMainThread在NSObject的的类别定义,因此编译器不能识别它。我得到: “警告:'-performSelectorOnMainThread:withObject:waitUntilDone:'在协议中没有找到” 我可以强制委托,但这样做会破坏委托的目的。有什么建议么?

+0

我需要看到更多的代码来解决这个问题。 – 2010-09-15 23:05:22

回答

5

声明您的代理人为NSObject<MyDelegate> * _delegate;

这告诉编译器_delegate必须NSObject实例或子类的MyDelegate协议的要求即必须响应。

+0

这样做。谢谢! – Tylerc230 2010-09-17 15:14:58