以下是我要做的事情:
id<MyDelegate> _delegate;
....
[_delegate performSelectorOnMainThread...]
@protocol MyDelegate <NSObject>
....
我的问题是performSelectorOnMainThread是在NSObject类别中定义的,因此编译器无法识别它。我明白了: “警告:' - performSelectorOnMainThread:withObject:waitUntilDone:'在协议中找不到” 我可以施放代表,但这会破坏代表的目的。有什么建议吗?
答案 0 :(得分:5)
将您的代理人声明为NSObject<MyDelegate> * _delegate;
。
这告诉编译器_delegate
必须是NSObject
的实例或必须响应{{1}的要求的子类协议。